部署MVC 4 Code First App时出现500错误

时间:2013-02-26 18:17:08

标签: asp.net-mvc-4 msdeploy

我有一个MVC4 Code First网络应用程序,我试图使用VS Ultimate 64bit的Web Deploy Package部署到舞台服务器(Win Svr 8,64位)。

此错误似乎表明在IIS中配置的asp.net有问题。许多其他帖子似乎表明,使用以下文件夹中的aspnet_regiis -ir命令来确保正确安装所有内容已解决了他们的问题。

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 aspnet_regiis -ir C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 aspnet_regiis -ir

其他帖子说将此添加到web.config中的模块已解决了他们的问题。我做了两件事,但对我来说仍然无效。

runAllManagedModulesForAllRequests="true"

为了测试MVC是否在我的舞台服务器上运行,我已经部署了一个新的(未经改变的互联网模板)MVC 4网络应用程序,它可以正常工作。

错误消息:

HTTP Error 500.0 - Internal Server Error
The page cannot be displayed because an internal server error has occurred.
Module ManagedPipelineHandler 
Notification ExecuteRequestHandler 
Handler System.Web.Mvc.MvcHandler 
Error Code 0x00000000 
Requested URL http://mytweb:80/ 
Physical Path C:\inetpub\wwwroot\MyWeb 
Logon Method Anonymous 
Logon User Anonymous 

我可以看到代码首先正在为成员资格提供程序正常运行,因为这些表似乎是在数据库中设置的。但是,我的应用程序通过代码优先创建的其他表不存在。

原谅类似的(未答复的)post,但这个问题正在扼杀我们,并且非常绝望。

2 个答案:

答案 0 :(得分:0)

打开IIS>>转到应用程序池>>找到相关的应用程序>>右键单击>>高级设置>>将Load User Profile设置为 TRUE 。这可能有用。

答案 1 :(得分:0)

我正在努力处理同样的错误消息,我无法进行任何跟踪或记录。经过几天的研究,我意识到这是Global.asax.cs中一个未处理的异常。我建议审核你的Global.asax代码,看看是否有机会发生例外。

无论如何,您可能希望遵循最佳实践来处理此类应用程序级错误,以将最后一条错误消息输出到自定义页面:

http://msdn.microsoft.com/en-us/library/vstudio/24395wz3(v=vs.100).aspx

在数据库方面,我遇到了数据库未向登录到网站的用户授予权限的问题(在匿名身份验证的情况下为IUSR)。由于您是在代码中创建表,他们是否向用户授予必要的权限?