gpt4 book ai didi

azure - 在同一 Azure Web App 下运行两个不同的 ASP.NET 5 应用程序

转载 作者:行者123 更新时间:2023-12-03 01:52:10 25 4
gpt4 key购买 nike

我看过这个问题: Publish WebAPI and MVC projects to same Azure Web Site?

但它对于“辅助”应用程序无法正常工作。

从中我了解了 Azure Web 应用服务(以前称为 Azure 网站)中的虚拟目录。

我正在尝试将 2 个 Web 应用程序部署到相同的 Azure Web 应用程序中。两者都是 ASP.NET 5 应用程序(它们将是 MVC 6),采用名为 MyOAuth 的解决方案:

  • MyApi:应可通过 myoauth.azurewebsites.com 访问的 ASP.NET 5 应用程序
  • MyAuth:应可通过 myoauth.azurewebsites.com/oauth 访问的 ASP.NET 5 应用程序
Solution 'MyOAuth'
|-src
|- MyApi
|- MyAuth

因此,在我创建的 Azure Web App 服务(也称为 MyOAuth)中,在设置下我有以下虚拟应用程序和目录:

/        site\wwwroot         Application
/oauth site\wwwroot\oauth Application

两者的 Visual Studio 2015 发布连接为:

  • MyApi
Server: myoauth.scm.azurewebsites.net:443
Site Name: MyOAuth
User Name: *****
Password: ****
Destination URL: http://myoauth.azurewebsites.net
  • MyOAuth
Server: myoauth.scm.azurewebsites.net:443
Site Name: MyOAuth/oauth
User Name: *****
Password: ****
Destination URL: http://myoauth.azurewebsites.net/oauth

这些是两个项目的启动配置:

MyApi 的 Startup.cs

//...
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");
});
}

发布后,当我访问http://myoauth.azurewebsites.net时我得到了正确的响应 Hello MyApi app,但在请求 http://myoauth.azurewebsites.net/oauth 时我收到服务器 500 错误,并显示文本 由于发生内部服务器错误,无法显示该页面。

我设法从 Azure LogFiles 文件夹中检索到以下详细错误:

HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.

Detailed Error Information: Module IIS Web Core Notification BeginRequest Handler Not yet determined Error Code 0x800700b7 Config Error Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'httpplatformhandler' Config File \?\D:\home\site\wwwroot\oauth\web.config Requested URL
http://MyOAuth:80/oauth Physical Path D:\home\site\wwwroot\oauth Logon Method Not yet determined Logon User Not yet determined

Config Source:

<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>

有人可以就此提出建议,或者给我一个关于如何在同一个 Azure Web 应用服务下运行 2 个不同的 ASP.NET 5 应用程序的解决方案吗?谢谢!

最佳答案

可以遵循此处概述的文件夹结构:

https://github.com/aspnet/dnx/issues/928#issuecomment-171617386

问题是我还没有找到可以轻松使用 vs2015 或 VSTeamServices 的工具

为了使其正常工作,我必须做的关键事情之一(仍然执行了一些手动部署步骤 - 但我在我的设置中发现了一个问题,我认为也可以帮助您)。以下将修复500.19错误

    <handlers>
<remove name="httpplatformhandler" />
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>

有关同一主题的更多信息,请访问:Deploying aspnet5 apps to virtual directories on azure websites

关于azure - 在同一 Azure Web App 下运行两个不同的 ASP.NET 5 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34781561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com