【发布时间】:2018-09-21 17:16:30
【问题描述】:
我目前正在使用 Request.Scheme 和 Request.Host 来组合 Uri 对象,以便为我的 .net 核心 MVC 应用程序获取 AbsoluteUri。
Uri location = new Uri($"{Request.Scheme}://{Request.Host}");
string applicationRootURL = location.AbsoluteUri;
但这仅适用于非静态方法。
由于我需要在另一个控制器中重复使用此方法,我正在考虑将此操作方法设为静态。如果我这样做,编译器会抱怨 Request.Scheme 和 Request.Host。
我想知道我还有哪些其他选择可以实现这一目标?
谢谢。
更新:
这就是我对带有 ActionMethodA 的 ControllerA 所拥有的
public class ControllerA
{
public bool ActionMethodA()
{
Uri location = new Uri($"{Request.Scheme}://{Request.Host}");
string applicationRootURL = location.AbsoluteUri;
return false;
}
}
而在另一个ControllerB中,我想ActionMethodB从ControllerA调用ActionMethodA:
public class ControllerB
{
public void ActionMethodB()
{
var result = ActionMethodA();
}
}
为ControllerA创建一个扩展方法是处理这种情况最合适的方法吗?
谢谢。
【问题讨论】:
-
在HttpContext的扩展方法中制作...
-
抱歉,不知道怎么做。但计划在不使方法静态的情况下实施解决方案。
-
是C#中最基本也是最常用的功能之一docs.microsoft.com/en-us/dotnet/csharp/programming-guide/…
标签: asp.net-core .net-core asp.net-core-mvc uri asp.net-core-2.0