Asp.net 由于HttpPlatformHandler,Aurelia没有在azure上加载?
我正在使用ASP.NET Core RC1作为服务器来托管我的应用程序。我的应用程序运行得很好,但最近几周发生了一些变化,因此应用程序在Azure上托管时不再加载。我不确定这是否是我改变了什么,或者这是否是Azure方面的改变,但我倾向于后者 我已经把问题缩小了不少。该应用程序在本地运行良好,包括ASP.NET Core Kestrel服务器和其他服务器(如webpack dev server)。我有从VisualStudioTeamServices到Azure网站的连续部署设置。将发布应用程序,并在我的wwwroot中自动创建web.config:Asp.net 由于HttpPlatformHandler,Aurelia没有在azure上加载?,asp.net,azure,asp.net-core,aurelia,Asp.net,Azure,Asp.net Core,Aurelia,我正在使用ASP.NET Core RC1作为服务器来托管我的应用程序。我的应用程序运行得很好,但最近几周发生了一些变化,因此应用程序在Azure上托管时不再加载。我不确定这是否是我改变了什么,或者这是否是Azure方面的改变,但我倾向于后者 我已经把问题缩小了不少。该应用程序在本地运行良好,包括ASP.NET Core Kestrel服务器和其他服务器(如webpack dev server)。我有从VisualStudioTeamServices到Azure网站的连续部署设置。将发布应用程序
<configuration>
<system.webServer>
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="%home%\site\approot\web.cmd" arguments="" stdoutLogEnabled="true" stdoutLogFile="\\?\%home%\LogFiles\stdout.log"></httpPlatform>
</system.webServer>
</configuration>
. 当看到控制台时,我得到了404。一旦我真的得到了这个错误,但我似乎无法恢复:502-Web服务器在充当网关或代理服务器时收到了无效响应
我已将index.html设置为默认文档,但它未加载。如果我明确输入,应用程序将工作:
如果我从web.config中删除httpplatformhandler,那么它将按预期工作(index.html将自动加载)。完全删除web.config时也会发生同样的情况。在这些情况下,MVC6WebAPI在幕后根本不起作用。我假设这是合乎逻辑的,因为我删除了平台处理程序
那么,为什么要添加这个httpplatformhandler呢?有必要吗?为什么要创建它?Azure门户中是否有一些设置可供我调整,以防止将此处理程序配置为这样
我还发现了这个链接,它似乎表明事情正在发生变化,这个httpplatformhandler即将被替换:
我现在在深水区,非常感谢您的帮助。要获得静态文件服务器中间件的默认文档支持,您需要使用app.UseFileServer()
,而不是app.usesticfiles()
您的hosting.json中有什么?我没有。我应该吗?:)通常这样做是为了避免在project.json命令中硬编码服务器配置,如主机/端口。“web”命令或任何用于启动kestrel的命令都应该执行哦,好的。我会调查的。但我不确定这是否有助于解决我的问题。我的命令是这样的:“web”:“Microsoft.AspNet.Server.Kestrel”,“ef”:“EntityFramework.commands”我遇到了与主机设置相关的类似问题。我用http://*:8081
绑定红隼。这似乎导致Azure应用程序服务出现问题,因为它试图绑定到IPv4和IPv6。将其更改为仅绑定到IPv4可与http://0.0.0.0:8081
。我在GitHub上发表了一篇文章。不知道是否与你的案子有关,但我也有502号的问题。绑定到端口80在那里不起作用,因为IIS已经在监听它,所以我使用了8081Thank@davidfowl,这完全解决了我的问题。我不知道为什么这会起作用,但这是一个调查,我会留到另一天。