2012-03-23 6 views
0

IErrorHandlers HandleErrorメソッドにユーザーが入力するデータを渡す方法が必要です。IErrorHandlerインプリメンテーションで使用するグローバル変数を作成

サービスが呼び出されると、セッション変数(またはセッション変数のようなもの)を設定して、ユーザーデータを設定したいとします。 サービスメソッドを実行し、エラーが発生した場合はIErrorHandlerがキャッチします。私のHandleErrorメソッドでは、 "セッション変数"からデータを取得してから、セッション変数を削除したいと考えています。

私はセッション変数を設定する方法をセットアップできましたが、この変数はErrorHandlerクラスを登録するときにnullを返します。

Process(Order o) 
{ 
    HttpContext.Current.Session["InputData"] = o; 

この状況を解決するための解決策を教えてもらえますか?

答えて

0

これはすべて同じリクエストで発生するため、セッション変数は必要ありません。

サービスクラスの非スタティックメンバーを必要なデータで作成してみてください。サービス操作の開始時に設定します。 IErrorHandlerがこのサービスでエラーが発生したと判断した場合、IErrorHandlerは値を取得できるはずです。

+0

パブリッククラスOrderServiceの:IOrderService {公共ボイドSetSession(オブジェクト値) { }パブリックオブジェクトのgetSession(){ 戻りヌル。 } –

+0

これらのメソッドは、同じ名前空間にあるErrorHandlerクラスでアクセスできません。私はなぜ分からないのですか? –

+0

アクセスしようとしたときのエラーは何ですか? –

関連する問題