[英]Hosting Asp.Net Core 2 on IIS
在ApplicationName和IISExpress中通過Visual Studio在Release / Debug模式下啟動時,我的應用程序運行良好。
但是一旦部署到IIS並啟動,我就無法訪問主頁(家庭控制器),也有導航欄問題和JQuery問題。 我在調試/發布模式下發布了應用程序無濟於事。
我的問題主要是如何解決這個問題? 應用程序的運行方式與iisexpress本地運行的方式相同嗎? 即使文件丟失(如在debug / release env中),Home控制器應該是正確的訪問權限?
非常感謝任何幫助,並等待根據評論發布更多信息和日志。
編輯1(包括Startup.cs):
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.DependencyInjection;
using MTAClassLib.Configuration;
using System.IO;
namespace MTALib
{
public class Program
{
public static void Main(string[] args)
{
var host = BuildWebHost(args);
using (var scope = host.Services.CreateScope())
{
var services = scope.ServiceProvider;
var RoleManager = services.GetRequiredService<RoleManager<IdentityRole>>();
UserRoleSeed.Seed(RoleManager).Wait();
}
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.Build();
}
}
我在IIS上運行ASP.Net Core 2時遇到了同樣的問題。 我不得不
確保project.cs BuildWebHost方法如下所示
public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build();}
我沒有必要將應用程序池更改為.NET CLR版本為“No Managed Code”。 它仍然是“.Net CLR Version v4.0.30319”
這解決了我的問題
ASP.NET Core 2.0的托管與ASP.NET托管有點不同。
此外,請確保您的應用程序池 >> .NET CLR版本應為無管理代碼
有關更多詳細信息,請參閱帶有IIS的Windows上的Host ASP.NET Core
安裝“dotnet-hosting-2.1.2-win.exe”並重置IIS已經解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.