0

我想要我的 C# 代码(模型函数)中的 asp.net mvc 域。我试图在字符串上调用这个函数,但它不起作用。

 string domain = "" + System.Web.HttpContext.Current.Request.Url;

当我尝试在控制器的 actionresult 中调用相同的方法时,它可以工作,但在 c# 模型中它不起作用。

我希望上下文可以使它起作用,但它不起作用。

有人请解释我是否可以使用其他东西。我想要做的是获取 url,我不想在每次调用时都传递 url(域)表单。

4

2 回答 2

2

HttpContext.Current仅当代码在现有 HTTP 上下文中执行时才有效。例如,如果您尝试在单元测试中执行此代码,它将返回 null。在模型中依赖任何 HttpContext 特定的东西是一种非常糟糕的做法。该属性可以在您的控制器中设置(您可以在其中访问 HttpContext),然后将模型传递给您的 DAL 和服务层,该属性将在其中填充。

于 2013-09-04T07:19:06.903 回答
0

根据您的上下文/模型,它可能不可用。话虽如此,您可以将上下文或至少将 url 作为参数传递给需要的模型。

于 2013-09-04T07:19:46.750 回答