Я имел взгляд на этот вопрос: Publish WebAPI and MVC projects to same Azure Web Site?Выполнить два разных ASP.NET 5 приложений под одной Azure Web App
но Безразлично не работает должным образом для «вторичного» приложения.
и из этого я узнал о виртуальных каталогах в службах веб-приложений Azure (ранее называвшихся сайтами Azure).
Я пытаюсь развернуть те же веб-приложения Azure для веб-приложений 2. Оба ASP.NET 5 приложений (они будут MVC 6) под названием решение MyOAuth:
- MyAPI: ASP.NET 5 приложений, которые должны быть доступны через myoauth.azurewebsites.com
- MyAuth: ASP.NET 5 приложений, которые должны быть доступны через myoauth.azurewebsites.com/oauth
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
Это конфигурация запуска для обоих проектов:
Startup.cs для MyAPI
//...
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello MyApi app");
});
}
Startup.cs для MyAuth
//...
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 с текстом The page cannot be displayed because an internal server error has occurred.
мне удалось извлеките из файла Azure LogFiles следующее подробное описание:
Ошибка HTTP 500.19 - Внутренняя ошибка сервера Запрошенная страница не может быть доступна, потому что связанные данные конфигурации для страницы недействительны.
Подробная информация об ошибке: Модуль IIS Web Ядро Уведомление BeginRequest Обработчик Пока не определено Код ошибки 0x800700b7 Config Ошибка Не удается добавить повторяющиеся записи коллекции типа «добавить» с уникальным ключом «имя» атрибута установлено значение «httpplatformhandler» Config Файл \ \ D: \ главная \ сайт \ Wwwroot \ OAuth \ web.config Запрошенный URL
http://MyOAuth:80/oauth Физический путь D: \ главная \ сайт \ Wwwroot \ OAuth Метод входа пока не определено Logon Пользователь еще не определеноConfig Источник:
<handlers> <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" /> </handlers>
Может кто-нибудь посоветовать по этому или дать мне решение о том, как запустить 2 разных ASP.NET 5 приложений под тем же Azure Web App Service, пожалуйста? Спасибо!
Я до сих пор не в полной мере понять, какие изменения необходимы. В соответствии с вашим вопросом здесь: http://stackoverflow.com/questions/34784391/deploying-aspnet5-apps-to-virtual-directories-on-azure-websites Структура в Azure, имеющая app0 с '' 'wwwroot/web .config''' и app1 (называемый oauth в моем случае) с '' 'wwwroot/oauth/web.config''', похоже, вызывает проблему для app1. Вы говорите, что мне нужно вручную изменить структуру папки/файла непосредственно в Azure, чтобы она работала? – iberodev
Я говорю, что я еще не работал с инструментами, которые по умолчанию находятся в визуальной студии. У меня только что появился пример работы с 3 приложениями, но из командной строки был msdeploy. Я буду обновлять ответ с дополнительной информацией, поскольку я нахожу его. –