2010-11-18 7 views
3

ユニットテスト用HttpContext.CurrentクラスのApplicationプロパティであるHttpApplicationStateオブジェクトに値を追加しようとしています。私は、次のコード.NET HttpContextオブジェクトを見分ける方法

 TextWriter tw = new StringWriter(); 
     HttpWorkerRequest wr = new SimpleWorkerRequest("/webapp", @"path...", "logon.asp", "", tw); 

     HttpContext.Current = new HttpContext(wr); 

     //I try the following 2 lines 
     HttpContext.Current.Application["KeyValue"] = "myValue"; 
     HttpContext.Current.Application.Add("KeyValue", "myValue"); 

     var count = HttpContext.Current.Application.Count; 
     var get1 = HttpContext.Current.Application["KeyValue"]; 
     var get2 = HttpContext.Current.Application.Get("KeyValue"); 

てみてくださいしかしHttpContext.Current.Application.Count常にゼロです。値が得られません

私は間違っていますか?

答えて

0

対象とする.NETのバージョンによっては、HttpContextBaseHttpContextWrapperを調べると便利です。 HttpContextBaseは抽象であるため、moqのような模倣フレームワークでは、あなたが選択したプロパティを割り当てることができます。

+0

.NET Framework 3.5を実際に使用しています。これらのクラスは.NET用です。 – Bob

+0

okです。 3.5にも存在します。 – bluevoodoo1

+0

あなたは確かです。それでも問題を解決するにはまだ問題があります。 HttpContextはHttpContextBaseから継承しないので、自分のクラスを作成して代わりに使用することはできません。またはsomehthingが不足していますか?アプリケーション内の – Bob

関連する問題