在Azure中部署MVC站点时出错

时间:2015-03-10 18:51:30

标签: c# asp.net-mvc asp.net-mvc-4 azure

最近,我将VS2013中构建的MVC站点部署到Azure中。事实上,到目前为止我已经完成了4次部署。第一块树已经部署好了。

当我收到错误消息时说:最后一次部署是untel:需要在web.config中添加标记。

这很奇怪,因为在本地测试git时我没有收到任何错误。直到我将其部署到Azure。

这是我在Azure中运行时遇到的错误:

Runtime Error

Description: An application error occurred on the server. The current    custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine. 

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".

<!-- Web.Config Configuration File -->
   <configuration>
      <system.web>
        <customErrors mode="Off"/>
   </system.web>
</configuration>

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.

<!-- Web.Config Configuration File -->
   <configuration>
      <system.web>
         <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
      </system.web>
   </configuration>

我在上次部署中所做的更改是使用First Code创建方法添加一些列,以及数据迁移本身。

再次,本地一切正常。但是,一旦它在Azure中就没有了。

任何线索,helo,接近?

1 个答案:

答案 0 :(得分:1)

花时间谷歌搜索发生了什么后,我找到了解决方案。然而,另一个问题来了。

首先,我将标记放在web.config中以查看错误。

嗯,这里的问题是,由于某种原因,Code First的数据迁移抛出了一个未捕获的异常。我在Startup.Auth.cs文件中添加了以下代码行

OnException = context => {}

如需更多信息,请访问:Why is [Owin] throwing a null exception on new project?

通过这种方式,您可以绕过错误。现在,如果您想知道确切的错误,请输入:

OnException = (context =>{
             throw context.Exception;
             })

你可以看到错误是什么。在我的情况下是:自创建数据库以来支持上下文的模型已经改变

我按照此链接的解决方案:The model backing the <Database> context has changed since the database was created

它以某种方式解决了这个问题。

由于我在AspNetUser表中添加了两个新列,因此Azure表中不存在这些新列,表示列不存在。即使我在本地添加了这些列。还是想弄清楚如何解决这个问题。我想我会为此创建另一篇文章。

希望这有助于他人