gpt4 book ai didi

asp.net - 在 IIS 上托管 Asp.Net Core 2

转载 作者:行者123 更新时间:2023-12-01 11:16:49 25 4
gpt4 key购买 nike

当通过 Visual Studio 在 ApplicationName 和 IISExpress 中以发布/ Debug模式启动时,我的应用程序运行良好。

但是一旦部署到 IIS 并启动,我就无法访问主页(主 Controller )并且还有导航栏问题和 JQuery 问题。我已经在调试/ Release模式下发布了该应用程序,但无济于事。

我的问题主要是如何解决这个问题?该应用程序的运行方式应该与在 iisexpress 上本地运行的方式相同,对吗?即使文件丢失(如在 debug/release env 中),Home Controller 也应该可以访问,对吗?

将非常感谢任何帮助,并等待根据评论发布更多信息和日志。

编辑 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 托管 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 版本为“无托管代码”。它仍然是“.Net CLR 版本 v4.0.30319”

  5. 编辑 web.config 并将 stdoutLogEnabled 更改为 true。
  6. 在发布的文件夹中手动创建日志文件夹。

这解决了我的问题。

关于asp.net - 在 IIS 上托管 Asp.Net Core 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49788959/

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