使用 UrlHelper 进行依赖注入
我在 Web 应用程序中使用 Ninject,作为其中的一部分,我需要在驻留在单独程序集中的 UrlHelper 扩展方法中进行一些注入。我什至无法获得对内核的静态引用,因为显然库程序集不能(也不应该)引用我的 Web 应用程序。我知道静态类不能很好地与 DI 配合使用,但因为我需要使用 UrlHelper,所以事情变得有点复杂。我怎样才能重新架构这个?如果您需要查看任何代码或需要更多信息,请告诉我。
I am using Ninject in my web application, and as part of this I need some injections to be made in a UrlHelper extension method that resides in a separate assembly. I can't even get a static reference to the kernel because obviously the library assembly can't (nor should be) referring to my web application. I know static classes don't work well with DI, but because I need to use UrlHelper it makes things a little more complicated. How could I rearchitect this? Let me know if you need to see any code or need more information.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否考虑将非静态类作为静态 UrlHelper 类的 DI 友好包装器?
您可以将必要的值注入到DynamicUrlHelper中,并在需要的任何地方注入DynamicUrlHelper。
Did you consider a non-static class as DI-friendly wrapper around the static UrlHelper class?
You can inject the necessary values into DynamicUrlHelper and inject DynamicUrlHelper anywhere it is needed.