我们有一个针对net461
的ASP.NET Core MVC应用程序,因为需要Oracle实体框架。
直到最近,该应用程序在我们的DEV和QA服务器上都可以正常工作。
我们将其部署为一个独立的应用程序,但在服务器上还安装了.NET Core运行时和ASP.NET Core IIS托管捆绑包。
最近,我们在部署后开始遇到无法启动应用程序的问题。在浏览器中,我们得到502.5 Process Failure。
在服务器上,我们只能在Windows事件日志中找到唯一错误:Application 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE/<appname>' with physical root 'D:\path\' created process with commandline 'D:\path\<appname>.exe ' but failed to listen on the given port '<randomport>'
。
我发现各种SO帖子和文章都说这通常是由于服务器和客户端上安装了不同的运行时版本。
这是自包含的,因此捆绑了运行时,所以我不确定这是问题所在。
我们没有更改开发PC或服务器上安装的内容,但尝试在服务器上卸载并重新安装运行时。
由于这是针对整个框架net461
的,因此它甚至与.NET Core版本无关吗?还是仅.NET版本重要?
我们有些人认为问题在于它获得了一个监听端口。我尝试在.UseUrls()
中添加Program.cs
并在appSettings.json
中添加Kestrel端口,但是没有任何区别,我们仍然会遇到相同的错误。
为了使事情更加混乱,我们当前的构建现在可以在质量检查服务器上正常运行,但是无法在DEV中启动。有时我们尝试发布,并且它可以在一种环境中工作,但不能在另一种环境中工作,有时在两种环境中都无法工作。我们遵循相同的部署步骤,唯一的区别是配置文件。
我们尝试了<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
,但没有尝试。
我们尝试从VS和dotnet publish
发布。
我们尝试了net stop was /y
net start w3svc
。
在这些问题开始之前,我们甚至已将服务器还原到较早的时间。
到目前为止,我们无法找到何时/为什么某些部署将运行而某些部署将失败的任何模式。有谁可以提供一些意见吗?
答案 0 :(得分:0)
在应用程序启动时,我们正在使用FluentScheduler安排一些事情。 On的开始/结束时间一定会使图书馆感到困惑。它使它完全冻结而不会引发异常。删除/更改固定时间或问题!