gpt4 book ai didi

asp.net-mvc-2 - 如何使用 CaSTLe Windsor 在 MVC 中注入(inject) UrlHelper

转载 作者:行者123 更新时间:2023-12-03 06:37:14 24 4
gpt4 key购买 nike

我有一个依赖于 UrlHelper 的组件,我需要使用 CaSTLe Windsor 进行注册。 UrlHelper 又依赖于 RequestContext(和 RouteCollection)。

现在我的 Controller 有一个 UrlHelper 类型的 Url 属性,但据我所知无法真正访问它。

注册 UrlHelper 依赖项的最有效方法是什么(使用流畅的配置)?

最佳答案

不太漂亮,也没有经过测试,但它应该可以工作:

container.AddFacility<FactorySupportFacility>();
container.Register(Component.For<UrlHelper>()
.LifeStyle.PerWebRequest
.UsingFactoryMethod(() => {
var context = new HttpContextWrapper(HttpContext.Current);
var routeData = RouteTable.Routes.GetRouteData(context);
return new UrlHelper(new RequestContext(context, routeData));
}));

Windsor 的 future 版本将不需要 FactorySupportFacility 来使用UsingFactoryMethod。

无论如何,对 UrlHelper 的依赖似乎很奇怪......

关于asp.net-mvc-2 - 如何使用 CaSTLe Windsor 在 MVC 中注入(inject) UrlHelper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com