如何在OWIN asp.net Web API启动时获取根URL

时间:2016-08-11 07:10:53

标签: asp.net asp.net-web-api2

我发现很多帖子与此非常相似,但我找不到任何对我有用的帖子。

我有一个asp.net Web Api2(非vnext)应用程序,在IIS下运行,并使用Owin Startup类。

安装后,对此的根网址将类似于

http://localhost/appvirtualdirectory

其中appvirtualdirectory是配置为在IIS中运行的虚拟目录的名称。

启动有没有办法我没有Request属性,即在Startup.Configure方法中,获取根URL 包括虚拟目录使用

2 个答案:

答案 0 :(得分:2)

试试这个

HttpRuntime.AppDomainAppVirtualPath

这在global和owin启动中都有效

此处有更多详情https://msdn.microsoft.com/en-us/library/system.web.httpruntime(v=vs.110).aspx

答案 1 :(得分:-2)

我会用:

//you have some options but i will show you the easiest
var request = HttpContext.Current.GetOwinContext().Request;
var path =  request.Scheme +
              Uri.SchemeDelimiter +
              request.Host +
              request.PathBase;

有关我引用的属性的信息。

https://msdn.microsoft.com/en-us/library/microsoft.owin.owinrequest(v=vs.113).aspx