已部署 asp.net 核心 mvc 应用程序无法在 azure 中浏览
Deployed asp.net core mvc app not browsable in azure
我有一个使用 Identity Server 4 的 asp.net 核心 MVC 应用程序,它在本地运行良好。但是,当我将其部署到 Azure 应用程序服务时(部署是根据签入自动执行的,因此无需手动步骤)应用程序无法按预期工作
我可以:
- 从www根目录访问静态文件
- 访问 .well-known/openid-configuration 并查看返回的 JSON
我不能:
- 浏览到主页并获取身份服务器欢迎页面
- 查看任何 MVC“页面”(例如 /account/login)
我的配置方法不是特别复杂:
loggerFactory.AddConsole();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseIdentityServer();
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme,
AutomaticAuthenticate = false,
AutomaticChallenge = false
});
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
但是 MVC 端似乎没有任何功能。当我浏览到主页时,我只是看到无法找到视图:
An unhandled exception occurred while processing the request.
InvalidOperationException: The view 'Index' was not found. The following locations were searched:
/Views/Home/Index.cshtml
/Views/Shared/Index.cshtml
检查 project.json
文件中的 publishOptions
部分 - 您有包含 include
小节的部分。您需要在此处添加 "Views" 文件夹的相对路径。
{
"publishOptions": {
"include": [
"wwwroot",
"Views",
...
]
},
}
我有一个使用 Identity Server 4 的 asp.net 核心 MVC 应用程序,它在本地运行良好。但是,当我将其部署到 Azure 应用程序服务时(部署是根据签入自动执行的,因此无需手动步骤)应用程序无法按预期工作
我可以:
- 从www根目录访问静态文件
- 访问 .well-known/openid-configuration 并查看返回的 JSON
我不能:
- 浏览到主页并获取身份服务器欢迎页面
- 查看任何 MVC“页面”(例如 /account/login)
我的配置方法不是特别复杂:
loggerFactory.AddConsole();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseIdentityServer();
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme,
AutomaticAuthenticate = false,
AutomaticChallenge = false
});
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
但是 MVC 端似乎没有任何功能。当我浏览到主页时,我只是看到无法找到视图:
An unhandled exception occurred while processing the request.
InvalidOperationException: The view 'Index' was not found. The following locations were searched:
/Views/Home/Index.cshtml
/Views/Shared/Index.cshtml
检查 project.json
文件中的 publishOptions
部分 - 您有包含 include
小节的部分。您需要在此处添加 "Views" 文件夹的相对路径。
{
"publishOptions": {
"include": [
"wwwroot",
"Views",
...
]
},
}