4

ASP.NETMVCアプリケーションにHttp/Request / Controllerコンテキストを挿入するための推奨されるアプローチはありますか?

以前は、このようにHttpContextでのみこれを実行していました(StructureMapを使用しています)。

For<HttpContextBase>().Use(ctx => new HttpContextWrapper(HttpContext.Current));

ただし、場合によっては、リクエストコンテキストにアクセスする必要もあります。これを手動で作成するのではなく、注入しておくと便利です。良い例は、UrlHelperを注入することです(RequestContextとRouteCollectionが必要です)。

ありがとう

ベン

4

1 に答える 1

4

それらのコンテキスト オブジェクトに本当に直接依存する必要があるかどうかを検討することをお勧めします (それらは、それらに依存するものをテストするのを難しくする傾向があります)。そうは言っても、あなたは正しい軌道に乗っています:

For<RequestContext>().Use(ctx => HttpContext.Current.Request.RequestContext);
For<RouteCollection>().Use(ctx => RouteTable.Routes);
于 2011-03-28T17:11:08.690 に答える