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服务来处理这个问题?