2010-12-07 8 views
-2

.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で使用しているどのような終点結合

答えて

2

は、ASP.NET 4のための変更を壊すの一覧です.NET Framework 4 Migration Issues

私はASPがあるだろうに見るだけで面白い作品.NET Request Validationの章を参照してください。現在、検証はWebサービスにも適用されます。

私はrequestValidationMode="2.0"を試してみます。

そうでない場合があるアイデアの完全なリストはここにある:kb915599が、それは、.NET 4および.NET 2.

+0

私は上のグローバルタイムアウトを増加していますサーバーとそれはエラーの量を減らしました。ありがとう! –

0

を受け取るに発生しましたサービス?既定のwshttpbindingは、以前のバージョンの.netではサポートされていません。BasicHttpBindingを使用する必要があります。

HERESにいくつかのガイダンス:またここhttp://www.asp.net/learn/whitepapers/aspnet4/breaking-changes、および:ここ http://msdn.microsoft.com/en-us/library/ms731134.aspx

+0

の間で変更するには、noエンドポイントを関連していないではない - それはWCFではありません... –

関連する問題