首页 > 解决方案 > 无法连接到 Web 服务器 IIS Express - ASP.NET CORE

问题描述

我的团队在他们的 macbook 上的 windows vm 中开发了一个 asp.net 核心应用程序。我有一台 windows 机器,所以我被要求将App URLLaunch browser从 localhost 更新到我的 windows IP 地址。但是,当我尝试运行该应用程序时,它会抛出错误并显示“无法连接到 Web 服务器 IIS Express”。

我尝试以管理员身份运行 Visual Studio,但错误似乎仍然没有消失。我附上截图以供参考。我将不胜感激,谢谢。

在此处输入图像描述

顺便说一下,这是我的program.cs文件的样子。

    public class Program
    {
        /// <summary>
        /// Thread Main.
        /// </summary>
        /// <param name="args">Command Line args.</param>
        public static void Main(string[] args)
        {
            // Configuration builder to load ASPNETCORE env variables
            var config = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddEnvironmentVariables(prefix: "ASPNETCORE_")
                .Build();

            // WebHost Configuration
            // var host = WebHost.CreateDefaultBuilder(args)

            var host = MfHostBuilder.CreateHostBuilder(args).UseConfiguration(config)
               // .UseUrls("http://0.0.0.0:7785")
                .UseStartup<Startup>()
                //.UseKestrel()
                .Build();

            // Start and run the host.
            host.Run();
        }
    }
}

这是我的startup.cs文件的样子。

public class Startup : IntegrationService
{
    public override void ConfigureServices(IServiceCollection services)
    {
        services.AddTransient<GenetecServerControllerOptions>();
        services.ConfigureOptions<ConfigureGenetecServerControllerOptions>();
        services.AddGenetec();
        services.AddSingleton<ServerProcessorOptions>();
        services.ConfigureOptions<ConfigureServerProcessorOptions>();
        base.ConfigureServices(services);
    }
}

标签: c#asp.netasp.net-core.net-coreiis-express

解决方案


您需要将 IIS 集成添加到您的应用程序中,这将配置 IIS 所需的内容:这是我在 Program.cs 中拥有和使用的内容

return Host.CreateDefaultBuilder(args)
        .ConfigureWebHostDefaults(webBuilder => {
            webBuilder.UseContentRoot(Directory.GetCurrentDirectory());
            webBuilder.UseIISIntegration();
            webBuilder.UseStartup<Startup>();
        });

推荐阅读