1
我經常使用Web服務這樣web服務永遠活着
public void CallWebservice()
{
mywebservice web = new mywebservice();
web.call();
}
,但有時我這樣做
private mywebservice web;
public Constructor()
{
web = new mywebservice();
}
public void CallWebservice()
{
web.call();
}
第二種方法並不喜歡我,但有時超時,我不得不啓動應用程序再次,我認爲它帶來開銷的第一個,它不是非常有效的,事實上,有時第一次調用返回WebException - ConnectFailure(我不知道爲什麼)。
我發現,超過轉向KeepAlive屬性設置爲false在被覆蓋的功能GetWebRequest,這裏的時候出文章(Web Service Woes (A light at the end of the tunnel?))是代碼:
Protected Overrides Function GetWebRequest(ByVal uri As System.Uri) As System.Net.WebRequest
Dim webRequest As Net.HttpWebRequest = CType(MyBase.GetWebRequest(uri), Net.HttpWebRequest)
webRequest.KeepAlive = False
Return webRequest
End Function
的問題是,是否有可能永遠延長webservice超時,最後,你如何實現你的web服務來處理這個問題?