最近我问这个:
这在一定程度上适用于调试,因为我使用的是 VS 开发服务器。
然后我生成了一个安装程序,然后安装程序将指向 IIS 7。
我有:
void Application_Start(object sender, EventArgs e)
{
_baseUrl = HttpContext.Current.Request.Url.ToString();
....
}
但这引发了以下错误:
请求在此上下文中不可用
然后我做了一些阅读,这就是发生这种情况的原因:
然后,我使用上面的技术将代码从 Application_Start 移出到 Application_BeginRequest,因为我发现 Application_BeginRequest 被执行了多次。
但问题是我需要 IIS 7 的基本 URL,以便在 Application_Start 中使用,所以我有一个尝试设置的全局字符串:
FirstRequestInitialization.Initialize(context);
但在尝试这样做时并不奇怪:
Application["BaseUrl"] = HttpContext.Current.Request.Url.ToString();
我收到此错误: “Microsoft.Web.Administration.Application”是“类型”,但用作“变量”
我想要的只是 IIS 7 的基本 URL。
我不能使用目录条目,因为我不支持 IIS 6。
我怎样才能做到这一点?任何解决方法?我可以从 VS 执行 AppCmd 吗?
非常感谢任何帮助。谢谢!