asp.Net   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 如何在Controller外访问RequestContext?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
背景

我试图将业务逻辑从控制器转移到自己的服务中。

调节器

public class AccountController : Controller
{
    private readonly IAccountservice _accountservice; 

    public AccountController(IAccountservice accountservicE)
    {
        _accountservice = accountservice;
    }

    ....
}

我正在使用Unity来注入依赖关系。我想在IAccountservice的实现中使用Url.GenerateUrl()辅助方法,但Url是一个针对控制器的属性。

我看了一下MVC的源码,看看这是怎么做到的,但是它需要我从控制器外部访问requestContext,我不知道该怎么做。

如何从控制器外部访问requestContext?如果这不能解决我的问题,我该如何解决我的设置问题?

解决方法

只需将此信息作为参数传递。例:

public ActionResult Index()
{
    var someUrl = Url.Action("about");
    _accountservice.Foo(someUrl);
}

现在您不再需要UrlHelper在您的服务类中。需要与MVC基础架构交互的所有内容都不应放在您的服务类中。他们不应该依赖于任何请求,响应,会话,…控制器负责处理这些对象,并将它们与您的服务类粘合在一起。

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – 如何在Controller外访问RequestContext?全部内容,希望文章能够帮你解决asp.net-mvc – 如何在Controller外访问RequestContext?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。