Azure上的MVC4应用程序无法正常工作

时间:2014-05-28 12:02:33

标签: asp.net asp.net-mvc asp.net-mvc-4 azure deployment

我是第一次将ASP.NET MVC4部署到Azure网站。

堆栈:

  • Visual Studio 2013 Professional Update 1
  • .NET 4
  • ASP.NET MVC 4
  • 使用Razor
  • IIS7

我已下载发布个人资料,并已在“发布”设置中导入。构建成功,因此部署。

当我转到主页,即 mywebsite.azurewebsites.net / 时,我得到:此网站已成功创建消息。

当我尝试去 /帐户/登录 =>我得到404。

当我运行 /test.aspx (这是我已添加到项目进行测试的页面)时,它会执行并返回页面输出。

当我尝试将MVC应用程序部署到IIS6时遇到同样的问题,其中没有处理无扩展路径,所以我必须启用通配符处理程序。

如何在Azure上解决MVC问题?

更新1

我使用 .NET 4.5 创建了一个新的ASP.NET MVC 4项目(Razor)。我已经为Visual Studio 2013安装了最新的Azure SDK。因此,这是从Visual Studio模板创建的空项目,我没有做任何进一步的调整,它适用于本地IIS。我根据Azure documentation进行了部署。

结果:

2 个答案:

答案 0 :(得分:2)

我发现了问题。

我有" 发布时预编译"签入" 文件发布选项"。它正在生成PrecompiledApp.config并且缺少Global.asax。

当我取消选中" 发布时预编译"选项,一切都很好。

答案 1 :(得分:0)

我认为您需要在RouteConfig.cs中更改路线。我看到你正在尝试/test.aspx,但我会尝试一个宁静的文件夹。查看Controllers文件夹。

例如,如果您看到:

Home

然后我会尝试mywebsite.azurewebsites.net/home

我看到你正在尝试帐户/登录我不会这样做进行故障排除,因为你可能会增加AUTH问题的复杂性......

您的路线肯定需要被关注。在本地,您可能希望在IIS Express或本地IIS等上运行...并测试不同的控制器。 调整路由很容易导致帐户/登录在本地显示此错误 以下部分已定义,但尚未针对布局页面进行渲染"〜/ Views / Shared / _Layout.cshtml":" Scripts"。

然后发布,... 404 - > "处理您的请求时出错。"等。

我喜欢使用Visual Studio Publish,只需为vs 2013等安装azure sdk。

https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/