問題タブ [ierrorhandler]
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 - Log4Net & WCF IErrorHandler - ServiceSecurityContext.Current.WindowsIdentity.Name returns NullReferenceException
I am using a WCF Service and I have implemented IErrorHandler. In the HandleError method, I want to retrieve the caller's username in order to set a ThreadContext property for Log4Net (to save the username along with the exception details in SQL Server)
My code is working well if I avoid trying to retrieve the caller's username.
This is the line of code inside the HandleError method which is returning a NullReferenceException:
It seems that at the point the HandleError method of IErrorHandler kicks in, the original caller information has been disposed.
Does anyone have any idea how I can retrieve the caller's username inside the HandlerError method of IErrorHandler?
Thanks for your help!
c# - IErrorHandler 実装が例外を処理しない
グローバル例外ハンドラーを作成しようとしている二重 WCF サービスがあります。
このブログ投稿に従って、IErrorHandler 実装の動作拡張を作成しました
ApplyDispatchBehavior メソッドにブレークポイントを設定すると、ハンドラーがチャネル ディスパッチャーの ErrorHandlers のプロパティに追加されるのがわかりますが、その後例外をスローすると、HandleError メソッドも ProvideFault メソッドも呼び出されません。
私のエラーハンドラは次のようになります:
私の動作の実装は次のようになります。
そして、私の App.config は次のようになります。
.net - シリアル化の例外が発生したときにWCFサービスのメッセージにアクセスする
WCFサービスには、カスタムがありますIErrorHandler
。うまく機能し、エラーをログに記録することで多くの問題を修正しました。私が得ている最後のエラーはシリアル化の例外です:
これは、クライアントからメッセージが正しく届かなかったことを示しています。それがどんなメッセージだったかを知る方法はありますか?内部からHTTPポストパラメータにアクセスできますIErrorHandler
か?
wcf - IErrorHandler による例外処理
IErrorHandler に関していくつか質問があります。
1) サービスのメソッドで明示的に例外をスローすると、インターフェイスを実装する型によってキャッチされますか?
2) 2 つの異なるサービス間でタイプを共有するにはどうすればよいですか?
asp.net - 各メソッドに特定のコードがなくてもロギングのために例外がスローされるメソッドのパラメーター値が必要
各メソッドに値を書き出すための特定のコードがなくても、ランダムなメソッド内で例外が発生した場合、現在のパラメーター値を取得するにはどうすればよいですか?
ASP.NETMVCおよびWCFIErrorHandlerにこれが必要ですか?
たとえば、次のコードが与えられます。
WCFまたはMVCglobal.asaxHttpApplicationのApplication_Error&ElmahのIErrorHandlerが、例外をキャッチしてN個のメソッドごとにカスタムロジックを記述して再度スローすることなく、RequestオブジェクトとsomeRandomStringの値を取得する方法はありますか?
たぶん、これは2つの質問に分割する必要があります。1つはWCF用で、もう1つはASP> NET MVC用ですか?リクエストの階層は私と非常に似ているように見えるので、単一の統一された回答を期待していました。
wcf - WCFIErrorhandlerのweb.configを設定する方法
正しいweb.configを使用してIErrorHandlerをプロジェクトに統合できません
.net 4のwebclientsによって消費されている正常に動作しているWCFがありますが、すべてのサービスメソッドのキャッチオールとしてIErrorhandlerをグローバルエラーロガーとして設定しようとすると、物事が急速に失敗します-主にweb.config部分に関係します!助けてください。
3つのサービスは、IReport、IServiceCustomer、IServiceUserです。
次のようなMyErrorClass.csという別のクラスにIErrorHandlerを実装しました。
ネット上のさまざまなチュートリアルと回答から数百万の組み合わせを試しましたが、機能しませんでした。web.configはどのようになりますか。これは、IErrorHandlerを使用していない場合に、web.configの元の作業抽出物がどのように表示されるかを示しています。
誰かがこのWCFnoobに修正されたweb.configを送ってください。私は削除して再試行し続け、どこにも行きません(これで何日も失ってしまいました):(
c# - wcf rest ierrorhandler webfaultexception
Java クライアントと c# mvc3 クライアントによって消費される WCF 4 Rest サービスがあります。レスポンス コンテンツは json として返される必要があります。
一貫した方法で例外/障害をクライアントに返すことができるようにしたいと考えています。WebFaultException を使用する必要があることを読みましたが、実際には正常に動作します。
ただし、Web プロジェクト以外で使用される可能性があるため、アプリケーション ロジック プロジェクトを WebFaultExceptions で汚染したくありません。
そこで、WCF Rest サービスに IErrorHandler を実装してすべての例外をキャッチし、特定の例外、つまり ValidationException については、例外を WebFaultException にラップされたエラーとして返すことを検討しました。ただし、これは機能していないようで、フォーム フィドラーを呼び出すと、次の Http 504 応答が返されます。
[Fiddler] ReadResponse() が失敗しました: サーバーはこの要求に対する応答を返しませんでした。
私がやっていることの本質を示すために、コードを必要最小限に減らしました。
私は何を間違っていますか?
wcf - エラーハンドラーを追加するNinject WCF拡張機能
Web サービスの DI に Ninject.Extensions.Wcf を使用しようとしていますが、カスタム IErrorHandler も挿入したいと考えています。
私が知る限り、これはカスタム IServiceBehavior の ApplyDispatchBehavior メソッドで行う必要がありますが、Ninject のサービス動作をオーバーライドする方法がわかりません。
c# - IErrorHandler の実装中にエラーが発生しました - 動作拡張を追加できません
IErrorHandler を実装するためのリファレンスとして、次の 2 つの記事を使用していました。
(私は .net Framework 3.5 を使用しています。)
ただし、少し問題があります。サービスを開始しようとすると、次のエラーが発生します。
System.Configuration.ConfigurationErrorsException: 基になる動作タイプが IServiceBehavior インターフェイスを実装していないため、動作拡張機能 'errorHandlerExtension' を 'Test.TestService.Service1Behavior' という名前のサービス動作に追加できません。
ここに私のコードと設定ファイルがあります:
ErrorhandlerExtension.cs:
}
web.config:
errorHandlerExtension / 要素を取り除くたびに、サービスは正常に動作しますが、errorHandlerExtension 要素 (エラー付き) を含めるたびに開始に失敗します。私はWCFが初めてで、かなり困惑しています。何か案は?
編集: ErrorHandler.csを追加しました: