2009-08-20 128 views
0

您好,我是ASP.NET MVC的新手,我遇到了一些试图部署非常简单的站点的问题!我带着MVC店面(Kona)做了一些基本的改变,现在我想将它部署到网络服务器上!为了测试,我只在我的Windows 7桌面上打开了IIS7!我更改Web项目设置以使用本地IIS并运行它!ASP.NET MVC部署问题

我得到的第一个问题是“请求在此上下文中不可用”...要解决此问题,我必须删除global.asx.cs文件中的HttpContext.Current.GetSiteUrl()!如果我现在运行该应用程序它的作品,但我没有CSS?如果我切换回VS开发服务器,一切都很好?

我也可以从IIS上的集成模式swithc到经典的,使css工作,但然后我没有路由?

回答

2

在IIS 7上,HttpContext.Current在Application_Start中为null,因为它不再由第一个请求触发。

通过将代码从Application_Start移动到Application_BeginRequest并添加一个标志来指示应用程序是否已经初始化(Global类的成员),您可以解决该问题。如果为false,则执行使用HttpContext.Current的代码并将该标志设置为true,以便后续请求不执行该代码段。