Для кліента ASMX на базе HttpWebClientProtocol .NET Framework наладзьце яго публічны Proxy перад першай сеткавай аперацыяй:

var service = new ReportsService();
service.Proxy = new WebProxy("http://proxy.example:8080")
{
    Credentials = proxyAccount
};

ReportsService - гэта згенераваны клас, а proxyAccount паходзіць з разгортвання. Уліковыя даныя службы SOAP асобныя. Гэтае прызначэнне не трэба паўтараць унутры кожнай згенераванай аперацыі.

Калі змена датычыцца базавай опцыі запыту або інструментавання, выкарыстоўвайце перакрыжавальны GetWebRequest(Uri) старой базы. Трымайце адпаведнае частковае аб'яўленне ў асобным скампіляваным файле, калі згенераваны клас частковы; інакш адпаведны вытворны кліент можа даць перакрыццё. Выклікайце базавую рэалізацыю і захоўвайце звычайнае пабудаванне запыту.

Гэтае размяшчэнне перажывае абнаўленне вэб-спасылкі: перагенерацыя можа замяніць ручныя праўкі ў Reference.cs, а асобна створаныя пашырэнні застаюцца ўзнаўляльнымі.

Змяняйце толькі тую паводзіны запыту, якая сапраўды патрэбна. Капіраванне абыходнага рашэння KeepAlive можа паўплываць на паўторнае выкарыстанне злучэння і аўтэнтыфікацыю, якая залежыць ад стану злучэння.

Гэта мадэль ASMX/.NET Framework. WCF і іншыя стэкі SOAP маюць уласныя транспартныя інтэрфейсы. Выберыце падтрымліваную наладу кліента, перш чым уводзіць уласнае пашырэнне.

Падобныя артыкулы