.NET 2.0で書かれたWebサービスで、いくつかのWebメソッドが公開されていました。このサービスは、数年前に.NET 1.1で書かれたクライアントアプリケーションによって消費されます。この時点でクライアントアプリケーションを変換することはできません。フレームワークの変更後にWebサービスが「受け取ったときに予期しないエラーが発生しました」というメッセージが表示される
私は最近、VS2010を使い始めて、新しい機能を使いたいと思っていたため、Webサービスプロジェクトを.NET 4.0に「アップグレード」しました。クライアントはアップグレードできないため、WebサービスをWCFに変換できないため、コード自体はまったく変更されません。同じWebサービス、同じWebメソッド。
一般に問題なく動作していますが、最初は問題はありませんでした。
しかし、私のログシステムでは、クライアントがWebサービスを消費する際に発生する「受信時に予期しないエラーが発生しました」というエラーが大幅に増加しています。たとえば、1週間に1回使用した場合、 1日あたり10-20回。
合計で1日に何千ものリクエストを処理しているクライアントが約50人あります。
特定の方法では発生せず、一部のクライアントによって行われた特定のアクションには再現できません。 System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponseでSystem.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequestクラスリクエスト)で
(WebRequestクラス:スタックトレースの一部リクエスト)System.Web.Services.Protocols.SoapHttpClientProtocol.Invokeで
(文字列methodNameの、[]パラメータオブジェクト)
この増加の原因は何ですか?全体をWCFに変換せずにそれを減らす方法はありますか?
これは、.NET 4.0をサーバーにインストールしたために発生する可能性があります。そのため、WebサービスDLLを古いバージョンにロールバックしても問題ありません。
完全なエラーメッセージは、実際には次のとおりです。
基になる接続が閉じられました:
は、予期しないエラーが あなたは.NET 4で使用しているどのような終点結合
私は上のグローバルタイムアウトを増加していますサーバーとそれはエラーの量を減らしました。ありがとう! –