簡體   English   中英

在IIS上托管Asp.Net Core 2

[英]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時遇到了同樣的問題。 我不得不

  1. 安裝.NET Core Hosting Bundle。 如果您還沒有這樣,可以下載https://aka.ms/dotnetcore-2-windowshosting
  2. 安裝Hosting Bundle后,在命令行窗口中運行IISReset
  3. 確保project.cs BuildWebHost方法如下所示

     public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .Build();} 
  4. 我沒有必要將應用程序池更改為.NET CLR版本為“No Managed Code”。 它仍然是“.Net CLR Version v4.0.30319”

  5. 編輯web.config並將stdoutLogEnabled更改為true。
  6. 在已發布的文件夾中手動創建日志文件夾

這解決了我的問題

ASP.NET Core 2.0的托管與ASP.NET托管有點不同。

您需要安裝.NET Core Hosting Bundle

此外,請確保您的應用程序池 >> .NET CLR版本應為無管理代碼

有關更多詳細信息,請參閱帶有IIS的Windows上的Host ASP.NET Core

在此輸入圖像描述

安裝“dotnet-hosting-2.1.2-win.exe”並重置IIS已經解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM