【发布时间】:2011-01-11 23:03:43
【问题描述】:
我有一个在 IIS7 上运行的 ASP .Net 应用程序。我正在使用该站点正在运行的当前 url 在我的应用程序中的类上设置一些静态属性。为此,我使用这个(在类的静态构造函数中)获取域名:
var host = HttpContext.Current.Request.Url.Host;
它在我的开发机器(Windows XP / Cassini)上运行良好。但是,当我部署到 IIS7 时,出现异常:“请求在此上下文中不可用”。
我猜这是因为我在对象的静态构造函数中使用了这段代码,该对象在任何请求进入之前在 IIS 中执行;并且 Cassini 在请求发生之前不会触发静态构造函数。现在,我原本不喜欢从 Request 中提取域名的想法,但这是我唯一找到它的地方 =)
那么,有谁知道我可以获取主机域名的其他地方吗?我假设 ASP .Net 必须在独立于 HttpRequests 的某个级别上意识到它,我只是不知道如何访问它。
【问题讨论】: