为什么我的ASP.NET MVC应用程序可以从虚拟目录运行,但不能从网站运行?

时间:2009-10-09 10:47:19

标签: asp.net-mvc deployment

我在IIS 7.5(Windows 7 RC)下的本地计算机上的虚拟目录(如http://localhost/MyApp)中创建了一个ASP.NET MVC应用程序。

现在我正在尝试将其部署到远程服务器,我得到了奇怪的结果。应用程序似乎将每个请求路由到Forms Authentication登录表单,并且对静态内容的请求(来自/ Content目录)导致无法创建控制器的异常。

当我将相同的应用程序部署到远程服务器上的虚拟目录时,一切都按预期工作。

我期待一些小问题,比如url没有正确指向和其他小修正,但不是这个。

对于为什么会发生这种情况以及我可以采取哪些措施来诊断问题,我们都欢迎。

更新

出于某种原因,它现在有效,我无法弄清楚我做了什么让它发挥作用。这困扰我,不仅因为现在我无法进一步调查出了什么问题。也因为现在我对这个问题没有答案。我打算把它打开,这样任何人都可以提出建议。

2 个答案:

答案 0 :(得分:1)

我不得不将ASP.NET MVC站点部署到没有安装ASP.NET MVC的远程服务器,并且必须执行以下操作才能使其工作:

  • bin deploying ASP.NET MVC dll文件
  • 更改我的路由以使用{controller} .aspx(因为aspx文件扩展名已经注册以处理ASP.NET请求,而我无法访问实际的服务器)

希望这在某些方面有所帮助 - 虽然显然你的情况可能完全不同,但上述情况可能毫无帮助: - )

答案 1 :(得分:0)

您可能需要为正在运行远程服务器上的网站的应用程序池的Windows帐户部署的文件/文件夹授予读/执行权限。