問題タブ [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.
wcf - WCFカスタム障害例外がクライアントで正しくキャッチされない
カスタムを作成しようとしていますFaultException
。DataContract
というクラスを作りましたCreateFault
。
次に、サービスメソッドで障害をスローします。
のIService1.cs
とでService1.cs
私は私のクライアントでキャッチしFaultException
ます。
ここに問題があります。Visual Studio 2010でWCFサービスアプリケーションプロジェクトを作成すると、期待どおりに機能します。エラーが発生しました:
しかし、カスタムを使用してWCFサービスライブラリプロジェクトを作成するとFaultExceptions
、クライアントはカスタム例外を認識しません。代わりに、次のエラーをキャッチします。
WCFサービスアプリケーションプロジェクトで機能しないのはなぜですか?
編集:これは、デバッグ中に例外をキャッチしたときに取得するものです
(イミディエイトウィンドウに?exと入力)
{"メッセージabt例外"}
Edit2:
問題が見つかりました。両方ともCreateFaultDataContractを持つ2つのサービス参照がありました。そして、私がプログラムを実行したとき、それは間違ったものを使用していました。
に変更したとき
機能した
c# - 特殊なFaultExceptionサブクラスまたはFaultException
WCFサービスがいくつかの既知の障害を返すことができるようにしたいと思います。つまり、定義されたFaultContract
自分のFaultException
サブクラスを派生させるべきか、それとも詳細クラスを作成してを使用するべきかについて、少し混乱していFaultException<TDetail>
ます。
両方の例が散らばっているように見えますが、私は一般的なコンセンサスが何であるか疑問に思いました。
MyException
クライアントコードはWCF中心ではなく、よりクリーンに見えると思うので、私は派生に傾いていますFaultException<MyExceptionDetail>
が、私はそれについて強い感情を持っていません。
wcf - WP7: WCF サービスへの非同期呼び出しで FaultException をキャッチできません
私は現在、私も制御する WCF Web サービスを呼び出す Windows Phone 7 アプリを開発しています。このサービスは、ユーザーのログイン名とパスワードを指定すると、現在のユーザーのアカウント情報を返す操作を提供します。
もちろん、認証失敗の可能性は常にあるので、その情報をWP7アプリに伝えたい。その場合、単純に null を返すこともできますが、認証が失敗した理由 (つまり、ログインが不明、パスワードが間違っている、アカウントがブロックされているなど) を伝えたいと思います。
これは上記の操作の私の実装です (テスト目的のため、例外をスローするだけです):
ここで、WP7 アプリでこの操作を呼び出すと、次のようになります。
デバッガーは Reference.cs で中断し、FaultException'1 が処理されなかったことを示します。
アップデート 1 を開始
F5 を押すと、例外が次のようにバブルします。
そして、次のようにします。
その後、アプリは終了します (デバッガーの有無にかかわらず)。
アップデート 1 を終了
ここで、コードで例外をキャッチしたいと思っていますが、Completed ハンドラーに到達しないため、チャンスがありません。
このサイトの同様の質問に基づいて、私はすでに次のことを試しました。
- サービス参照を再度追加 --> 変更なし
- 本当に単純な WCF サービスをゼロから再作成します --> 同じ問題
- デバッガーなしでアプリを起動して、アプリがデバッガーに侵入しないようにします-> まあ、壊れませんが、例外もキャッチされず、アプリは単に終了します
- FaultExceptions ([デバッグ] > [オプション]) で中断しないように VS 2010 に指示します --> 効果はありません
- アプリのすべての行を try { ... } catch (FaultException) {} または catch (Exception) でラップします --> 呼び出されませんでした。
アップデート 2 を開始
私が実際に達成したいのは、次のいずれかです。
理想的には、GetAccountInfoCompleted(...) に到達し、GetAccountInfoCompletedEventArgs.Error プロパティを介して例外を取得できるようにするか、または
try/catch 句を介して例外をキャッチできる
アップデート2終了
この問題の解決に役立つアドバイスをいただければ幸いです。
vb.net - WCF サービスで ServiceModel.FaultException の詳細にアクセスする
WCF サービス呼び出しがエラーを返したときに、soopenv:Detail ノード内の情報をキャッチ/アクセスするにはどうすればよいですか??
FaultException だけをキャッチしても含まれませんが、サービス トレース ログにデータが表示されます。
解決策/回避策:
まだキャッチできません:
どれがよかったんだろう…
asp.net-mvc - MVC Application FaultException Thrown エラーページを表示する方法
私は mvc 3 アプリケーションを持っています。これは、標準ジェネリック スロー新しい例外がコードでスローされると、Views\Shared\error.cshtml からのエラー ページが表示されます。これは、設定するだけで実行できます <customErrors mode="On"/>.
(これは期待どおりであり、望ましいものです)。
アプリケーションは中間層で WCF サービスを使用しており、これらのサービスが FaultException を生成すると、MVC でエラー ページが表示されず、ユーザーへの Web サービス呼び出しの詳細が画面に表示されます。私がやりたいことは、コードでエラーを処理し、ユーザーに Error.cshtml を表示することだけです。グローバル asax を変更しようとしましたが、これは機能しません。
c# - TypeInitializationException:「vService.CheckService」の型初期化子が例外をスローしました
WCFサービスが呼び出されると、次のようにFaultExceptionが発生します。
CheckService.csの14行目は
このコンテキストでの例外の意味と、それを解決するにはどうすればよいですか?
wcf - フォールトせずにWCFサービスから例外をスローする
WCF サービスから をスローする場合FaultException
、実際の接続に障害を起こさずにスローできる方法はありますか? 特定のメソッドのアクションを防止しようとしていますが、クライアントの接続を中断したくありません ( 「今はこのアクションを実行できません。理由は次のとおりです」と言って戻ってください)。または、.NET を使用するアプリで新しいプロキシを再作成するために必要なパラダイムです ( .NET の場合)
c# - System.dll の System.ServiceModel.FaultException
Windows Phone SDK 7.1 を使用してリモート ASP.NET WebMethod を使用しようとしています。次の C# コードがあります。
このコードを実行すると、タイトルで例外が発生します。
私はサービス参照を使用しています: 例外はここにあります:
vb.net - 強く型付けされた FaultExceptions が機能しない
厳密に型指定された FaultExceptions を WCF サービスから Silverlight クライアントに渡そうとしていますが、得られるのは一般的な "リモート サーバーがエラーを返しました: NotFound" だけです。同じコードを使用して一般的な FaultExceptions をスローしても問題なく動作します。
したがって、そうすると、Silverlight コールバックThrow New FaultException()
のパラメーターでそれを取得できますが、見つからないというエラーが発生します。e.Error
Throw New FaultException(Of clsServiceFault)(clsServiceFaultInstance)
clsServiceFault
次のようにデータ コントラクトとして既に宣言されています。
フォールトがスローされる WCF メソッドはFaultContract
属性で装飾されており、HTTP 応答ステータス コードも 200 に変更しています。
ここで何が欠けていますか?
wcf - XmlSerializer を使用して、WCF REST ベースのアプリケーションでカスタム エラーをシリアル化する
私の残りのベースの WCF サービスでは、カスタム フォールト例外をスローし、使用する特定の XML 出力形式があるため、XML シリアライザーを使用して結果をシリアル化したいと考えています。
オンラインの例に正確に従いましたが、コードが例外をスローした後、xml 形式の応答が得られません。代わりに、Request Error という名前のサーバーからの標準的な応答のように見えるものの中に、大量の html を含む XML タグを取得します。私が得るテキストは(htmlタグ)です:
次の設定とクラスがあります。
サービス:
..サービス実装における私のエラーチェック条件の1つ...
私のカスタム FaultException クラス:
シリアル化された障害クラスが表示されない理由がわかりません...適切にシリアル化できない場合を除きますか? 非常に単純なクラスで試してみましたが、同じ応答が得られます。