問題タブ [faultexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 型を ISerializable にすることはできず、DataContractAttribute 属性を持つことはできません
私は取得していますType 'WcfServiceLibrary1.GetDataErrorException' cannot be ISerializable and have DataContractAttribute attribute.
WCF サービスにカスタム例外を追加しようとしたとき。
これが機能しないのはなぜですか?シンプルなものが足りないと思います...
c# - FaultException が WCF クライアントでスローされない。代わりに、通信例外が発生しています
私はスローしている単純なWCFサーバーを持っていますFaultException<InvalidOperationException>
が、クライアント側では以下のエラーで通信例外しか取得しません。
ソケット接続が中止されました。これは、メッセージの処理中にエラーが発生したか、リモート ホストが受信タイムアウトを超過したか、基になるネットワーク リソースの問題が原因である可能性があります。ローカル ソケットのタイムアウトは「00:00:59.8080000」でした。
私が持っているコードについては以下を参照してください。助けてください。何か不足している場合はお知らせください。
サービス
サービス実装コード
クライアント側のコード。
c# - コールバックが呼び出されたときにサーバーによって FaultException が処理されない
サーバーがクライアントからの情報を要求する状況があります。
コールバック宣言:
コールバックの実装:
問題は、メソッドを呼び出してFaultException<TDetail>
クライアント側でスローすると、例外が正しく処理されないことです。CommunicationException
代わりに 以下の図のように。
問題を切り分けることができるかどうかを確認するために、いくつかの WCF ログ機能を使用しようとしましたが、サーバーが応答を受信するとすぐに例外がスローされます。
この動作の原因は何ですか? 私のコードはcatch (FaultException<FaultBase> e)
ブロックに入るべきではありませんか?
まず、どうすれば問題を見つけることができますか?
編集:
コールバック メソッドが void を返す限り、例外が正しくキャッチされていることがわかりました。コールバックの設定に関係している可能性があります。
c# - メッセージ サイズが大きい場合の WCF での FaultedException
WCF サービスと、1 つのコンソール アプリケーションからメッセージを取得して別のコンソール アプリケーションに送信する単純な aspx ページがあります。メッセージ (xml 形式) の長さが 6000000 程度の場合は問題なく動作しますが、メッセージ サイズが 2 倍になると、次の例外がスローされなくなります。
「通信オブジェクト System.ServiceModel.Channels.ServiceChannel は、Faulted 状態のため、通信に使用できません。」
私はそれを追跡し、送信者アプリがメッセージを送信し、.aspx ページがそれを取得し、受信者アプリに送信するときに例外がスローされます。これがコードです。
一連の構成設定を試しましたが、問題を解決するものはありませんでした。その理由は何ですか?
前もって感謝します。
wcf - バイナリを使用すると WCF FaultException の詳細が失われる
次のカスタム バインディングを持つ WCF サービスがあります。
(もちろん、クライアントにはこのバインディングに一致する構成があります)。問題は、クライアントが一般的な FaultException を受信しないことです。たとえば、"T" がクライアントで受信されない場合、呼び出しを追跡すれば確認できます。ただし、Soap 1.2 を使用して binaryMessageEncoding を textMessageEncoding に置き換えると、すべての障害例外が障害の詳細で強化されます。
ネットで検索したところ、HTTP を介したバイナリ メッセージ エンコーディングが一般的な WCF 障害例外と互換性がないことを主張する情報を見つけることができませんでした。また、バイナリ メッセージ エンコーディングの多くを制御できるようにも見えません。たとえば、SOAP メッセージ バージョンの構成を設定できません (バイナリ エンコーディングは WCF でサポートされていません)。このシナリオがサポートされているかどうかは疑問です。
c# - クライアント側で Fault 例外を取得するには
私は WCF を初めて使用し、WebHttpBinding
バインディングを使用してデモ WCF プロジェクトを構築しようとしています。
プロジェクトは正常に動作しますが、障害例外の概念に固執しています。以下は、エラー例外を生成するために使用しているコードですが、クライアント側では(400) Bad Requestエラーが発生し、InnerException は null です。どこが間違っていますか?
c# - WCF クライアントがカスタム フォールト例外を表示できない
おそらく質問のタイトルから、私がWCFを初めて使用することがわかります。この Web サービスを実装しましたが、メソッドの 1 つがカスタムの FaultException をスローします。
次に、MyMethod の実装で適切な例外をスローします。
ここまでは順調ですね。ここで、この Web サービスを使用する単純な ASP.NET Web サイトを作成しました。その Web サイトに MyClass.svc Web サービスの WebReference を追加しました。問題は、例外をキャッチしようとしているときに、catch(FaultException ex) { } CustomError を認識できないことです。次のトラブルシューティングを行いました: 1. wsdl が更新されていることを確認します (何度も実行し、他のことを変更しようとしましたが、すべてがクライアント側に反映されています) 2. BasicHttpBinding と wsHttpBinding を試しました (それが違いを生むかどうかはわかりません) 3. Google でよく検索し、MSDN のサンプル コードに忠実に従っています。
まだ運がない!何か不足していますか?どんな提案でも大歓迎です。