Webサービス


1

私はしばしばこのよう

public void CallWebservice() 

{ 

    mywebservice web = new mywebservice(); 

    web.call(); 

} 

Webサービスを使用しますが、時々、私は第二のアプローチは非常に時にはそれがタイムアウト私を好きで、私は、アプリケーションを起動する必要がありました。この

private mywebservice web; 

public Constructor() 
{ 

    web = new mywebservice(); 

} 

public void CallWebservice() 
{ 

    web.call(); 

} 

を行います私はそれがオーバーヘッドをもたらし、それは非常に効率的ではないと思う最初の呼び出しは、実際には、最初の呼び出しはWebExceptionを返すことがあります - ConnectFailure(私はなぜわからない)。

私はオーバーライドされた機能GetWebRequestにfalseにキープアライブプロパティを回して時間を超えた記事(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 

疑問があるが、それは永遠に拡張することが可能ですWebサービスのタイムアウトと最後に、どのようにこの問題を処理するためのWebサービスを実装していますか?

1

Visual StudioでWebサービス用に生成されたクラスはほとんど状態のないプロキシですので、作成するのはかなり安いです。私はそれらのメモリ消費について心配しないでしょう。

あなたが探していることはあなたは、単にこれを行うことができます1行でWebメソッドを呼び出す方法の場合:

new mywebservice().call() 

乾杯