Pad*_*ddy 14 .net asp.net asp.net-mvc iis-7
任何人都可以告诉我,是否有办法让我在global.asax的Application_Start事件中获取我的网站的域名?
通常我只是从Context.Request.ServerVariables ["SERVER_NAME"]中获取它,但这不可用.理想情况下,我还希望从启动应用程序的请求中获取URL.
嗯 - 从下面的答案来看,似乎在IIS7上有所作为.这是新的,现在有设计指南试图阻止你这样做:
Bob*_*Bob 22
您可以通过静态HttpContext.Current成员访问Context.
HttpContext.Current.Request.ServerVariables["SERVER_NAME"];
HttpContext.Current.Request.Url;
编辑,基于您的一些评论,我做了一些额外的研究
此错误是由于IIS7集成管道中的设计更改导致Application_Start事件中的请求上下文不可用.使用经典模式(在以前版本的IIS上运行时的唯一模式)时,请求上下文过去可用,即使Application_Start事件始终是应用程序生命周期中的全局和请求不可知事件.尽管如此,因为ASP.NET应用程序总是由对应用程序的第一个请求启动,所以过去可以通过静态HttpContext.Current字段访问请求上下文.
所以你有两个选择
Vin*_*inz 17
您的Web应用程序可以在多个不同的域下运行.由于Application_Start事件中没有当前请求,因此您无法知道应用程序将在哪个域中调用.
但是,您可以找到使用的机器名称System.Environment.MachineName.
| 归档时间: | 
 | 
| 查看次数: | 41919 次 | 
| 最近记录: |