3

ServiceStack からの ASP.NET セッションへのアクセスに関する優れた記事を読みました。

うまく機能しているようですが、Nunit はカスタム ファクトリ構成で Web.config を使用せず、自分のカスタムファクトリー。

<httpHandlers>
<add path="api*" type="SomeNamespace.SessionHttpHandlerFactory" verb="*" />
</httpHandlers>

したがって、HttpContext.Current に null 参照があります。

class SomeService : RestServiceBase<SomeDto>
{
    public override object OnGet(SomeDto request)
    {
            var context = HttpContext.Current;
            return something;

    }

    IRequestContext RequestContext { get; set; }
}

この方法でセッションをモックしようとしましたが、まだ機能しません

        HttpWorkerRequest _wr = new SimpleWorkerRequest("/dummyWorkerRequest", @"c:\inetpub\wwwroot\dummy", "default.aspx", null, new StringWriter());
        HttpContext.Current = new HttpContext(_wr);
        HttpSessionStateContainer sessionContainer = new HttpSessionStateContainer("id", new SessionStateItemCollection(), new HttpStaticObjectsCollection(), 10, true, HttpCookieMode.AutoDetect, SessionStateMode.InProc, false);
        SessionStateUtility.AddHttpSessionStateToContext(HttpContext.Current, sessionContainer);

UT でカスタム ファクトリを作成するにはどうすればよいですか?

下手な英語でごめんなさい。

4

0 に答える 0