Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 由于HttpPlatformHandler,Aurelia没有在azure上加载?_Asp.net_Azure_Asp.net Core_Aurelia - Fatal编程技术网

Asp.net 由于HttpPlatformHandler,Aurelia没有在azure上加载?

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网站的连续部署设置。将发布应用程序

我正在使用ASP.NET Core RC1作为服务器来托管我的应用程序。我的应用程序运行得很好,但最近几周发生了一些变化,因此应用程序在Azure上托管时不再加载。我不确定这是否是我改变了什么,或者这是否是Azure方面的改变,但我倾向于后者

我已经把问题缩小了不少。该应用程序在本地运行良好,包括ASP.NET Core Kestrel服务器和其他服务器(如webpack dev server)。我有从VisualStudioTeamServices到Azure网站的连续部署设置。将发布应用程序,并在我的wwwroot中自动创建web.config:

<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,这完全解决了我的问题。我不知道为什么这会起作用,但这是一个调查,我会留到另一天。