Asp.net mvc 当我在本地运行Asp.NETMVC时,它可以工作,但当我部署到azure web应用时,我会出现内部网络错误?

Asp.net mvc 当我在本地运行Asp.NETMVC时,它可以工作,但当我部署到azure web应用时,我会出现内部网络错误?,asp.net-mvc,azure,azure-web-app-service,Asp.net Mvc,Azure,Azure Web App Service,当我将代码部署到Azure web应用程序时,我立即出现了一个内部服务器错误,即使它在我自己的机器上运行得非常好。我的代码来自一个教程,与此示例非常接近: 但是,我没有web.config或OdeToFood.xproj,因为它们不包含在教程中。我试着包括这个git项目中的那些,但是错误没有改变。我确保权限配置为允许每个人都拥有完全控制权 我的项目连接到一个远程数据库,我可以成功地连接到该数据库并从本地计算机进行操作 我已经进入azure诊断工具并打开了所有日志选项,但是日志流中显示的错误消息

当我将代码部署到Azure web应用程序时,我立即出现了一个内部服务器错误,即使它在我自己的机器上运行得非常好。我的代码来自一个教程,与此示例非常接近:

但是,我没有web.config或OdeToFood.xproj,因为它们不包含在教程中。我试着包括这个git项目中的那些,但是错误没有改变。我确保权限配置为允许每个人都拥有完全控制权

我的项目连接到一个远程数据库,我可以成功地连接到该数据库并从本地计算机进行操作

我已经进入azure诊断工具并打开了所有日志选项,但是日志流中显示的错误消息没有改变。 下面可以看到错误

我已经尝试包含一个随机图像来对抗favicon.ico错误,但这并没有改变任何事情

任何人都可以提供一些调试技巧,我想我需要一个如何获得详细错误消息的想法

IIS详细错误-500.0-内部服务器错误

HTTP错误500.0-内部服务器错误

由于发生内部服务器错误,无法显示该页

最可能的原因:

  • IIS收到请求;但是,在过程中发生了内部错误 请求的处理
  • 此错误的根本原因取决于哪个模块处理 请求以及发生此错误时工作进程中发生了什么 发生了
  • IIS无法访问网站或的web.config文件 应用如果设置了NTFS权限,则可能发生这种情况 不对
  • IIS无法处理网站或服务器的配置 应用经过身份验证的用户没有使用的权限 这个DLL
  • 请求被映射到托管处理程序,但.NET可扩展性 未安装此功能
您可以尝试的事情:

  • 确保web.config文件的NTFS权限正确 并允许访问Web服务器的计算机帐户
  • 检查事件日志以查看是否记录了任何其他信息。 验证DLL的权限
  • 如果请求映射到了.NET扩展功能,请安装.NET扩展功能 托管处理程序
  • 创建跟踪规则以跟踪此HTTP状态的失败请求 代码。有关为失败的创建跟踪规则的详细信息,请参见 请求,请单击此处

详细错误信息:模块aspnetcoremule通知执行器请求处理程序aspNetCore错误代码0x00000000请求的URL物理路径D:\home\site\wwwroot登录方法匿名登录用户匿名 更多信息:此错误意味着处理请求时出现问题。Web服务器接收到请求,但在处理过程中发生致命错误,导致500错误。 Microsoft知识库文章:

IIS详细错误-500.0-内部服务器错误

HTTP错误500.0-内部服务器错误

由于发生内部服务器错误,无法显示该页

最可能的原因:

IIS收到请求;但是,在处理请求期间发生内部错误

此错误的根本原因取决于处理请求的模块以及发生此错误时工作进程中发生的情况。 IIS无法访问网站或应用程序的web.config文件。如果NTFS权限设置不正确,可能会发生这种情况。 IIS无法处理网站或应用程序的配置。 经过身份验证的用户没有使用此DLL的权限。 请求已映射到托管处理程序,但未安装.NET扩展功能。 您可以尝试的事情: 确保web.config文件的NTFS权限正确,并允许访问web服务器的计算机帐户。 检查事件日志以查看是否记录了任何其他信息。 验证DLL的权限。 如果请求映射到托管处理程序,请安装.NET扩展功能。 创建跟踪规则以跟踪此HTTP状态代码的失败请求。有关为失败请求创建跟踪规则的详细信息,请单击。 详细错误信息:模块aspnetcoremule通知执行器请求处理程序aspNetCore错误代码0x00000000请求的URL OdeToFood20170518102616:80/favicon.ico物理路径D:\home\site\wwwroot\favicon.ico登录方法匿名登录用户匿名 更多信息:此错误意味着处理请求时出现问题。Web服务器接收到请求,但在处理过程中发生致命错误,导致500错误。
Microsoft知识库文章:

根据您的github项目,我已经在我的计算机上制作了一个测试演示。我发现这个项目已经定义了一个自定义的物理文件提供程序(你可以找到 中间件文件夹中的文件名为:UseNodeModules)

通过将项目克隆到本地,VS将自动将js文件下载到node_modules文件夹中

将项目发布到azure web app服务时,VS不会将节点_模块文件夹复制到azure web app。因此,应用程序将出现500个错误

我建议您可以在本地找到UseNodeModules文件夹,并将其复制到azure web应用程序

更多详细信息,请参考以下步骤

1.在web应用程序中打开KUDU控制台

2.单击CMD console并在wwwrot文件夹中单击local

3.添加新文件夹并上载节点\模块文件夹

重新启动应用程序,这样您的项目就可以正常工作

由于您的项目与github项目不同,如果您仍然犯错误

我建议您可以如下更改应用程序设置