在同一Azure Web应用程序下运行两个不同的ASP.NET 5应用程序
我看过这个问题: 但是对于“辅助”应用程序,它不能正常工作 从中我了解了Azure web app服务(以前称为Azure网站)中的虚拟目录 我正在尝试部署到相同的Azure web apps 2 web应用程序中。这两个应用程序都是ASP.NET 5应用程序(它们将是MVC 6),采用名为MyOAuth的解决方案:在同一Azure Web应用程序下运行两个不同的ASP.NET 5应用程序,azure,asp.net-core,azure-web-app-service,Azure,Asp.net Core,Azure Web App Service,我看过这个问题: 但是对于“辅助”应用程序,它不能正常工作 从中我了解了Azure web app服务(以前称为Azure网站)中的虚拟目录 我正在尝试部署到相同的Azure web apps 2 web应用程序中。这两个应用程序都是ASP.NET 5应用程序(它们将是MVC 6),采用名为MyOAuth的解决方案: MyApi:ASP.NET 5应用程序,可通过myoauth.azurewebsites.com访问 MyAuth:ASP.NET 5应用程序,可通过MyAuth.azurew
- MyApi:ASP.NET 5应用程序,可通过myoauth.azurewebsites.com访问
- MyAuth:ASP.NET 5应用程序,可通过MyAuth.azurewebsites.com/oauth访问
/ site\wwwroot Application
/oauth site\wwwroot\oauth Application
来自Visual Studio 2015的发布连接用于这两个项目:
- MyApi
- 迈奥特
//...
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello MyApi app");
});
}
MyAuth的Startup.cs
//...
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
app.Run(async (context) =>
{
await context.Response.WriteAsync("...And hello MyAuth app");
});
}
发布后,当我访问时,我得到了正确的响应Hello MyApi app
,但当请求时,我得到了带有文本的服务器500错误,因为发生了内部服务器错误,所以无法显示页面。
我设法从Azure LogFiles文件夹中检索到以下详细错误:
HTTP错误500.19-内部服务器错误无法访问请求的页面
已访问,因为页面的相关配置数据为
无效
详细错误信息:模块IIS Web核心
通知开始请求
处理程序尚未确定
错误代码0x800700b7
配置错误无法添加类型为“add”的重复集合项
将唯一键属性“name”设置为“httpplatformhandler”配置
文件\?\D:\home\site\wwwroot\oauth\web.config请求的URL物理路径D:\home\site\wwwroot\oauth 登录方法尚未确定登录用户尚未确定 配置源:
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
请问,有谁能就此提供建议,或者给我一个解决方案,说明如何在同一Azure Web App服务下运行2个不同的ASP.NET 5应用程序?
谢谢大家! 可能遵循此处概述的文件夹结构: 问题是,我还没有找到可以轻松使用vs2015或VSTeamServices的工具 我必须做的一件关键事情就是让它工作(仍然做了一些手动部署步骤-但我发现我的设置中有一个问题,我想这也可以帮助您)。下面将修复500.19错误
<handlers>
<remove name="httpplatformhandler" />
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
我仍然不完全理解需要进行哪些更改。根据您在这里提出的问题:Azure中的结构使app0具有wwwroot/web.config
和app1(在我的例子中称为oauth)具有wwwroot/oauth/web.config
似乎是导致app1出现问题的原因。你是说我必须直接在Azure中手动更改文件夹/文件结构才能使其正常工作?我是说我还没有使用visual studio中的默认工具使其正常工作。我刚刚得到一个使用3个应用程序的示例,但这涉及命令行中的msdeploy。我会更新一些更多的信息,因为我发现它的答案。
//...
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
app.Run(async (context) =>
{
await context.Response.WriteAsync("...And hello MyAuth app");
});
}
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<handlers>
<remove name="httpplatformhandler" />
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>