Как узнать, как настроить CreateWebHostBuilder для обслуживания страниц Razor и других надстроек, таких как Websockets? - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть веб-сайт по умолчанию, который хорошо работает на MacOS

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();

Однако мне нужно запустить Websockets и код MVC, однако следующая конфигурация Kestrel не позволяет мне просматривать index.html на порту500001

Как (научиться) правильно настроить это для MVC и веб-сокетов в MacOS?

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost
        .CreateDefaultBuilder(args)
        // Increase Shutdown timeout to accomodate background tasks.
        //.UseShutdownTimeout(TimeSpan.FromSeconds(10))
        .UseStartup<Startup>()
        .UseContentRoot(Directory.GetCurrentDirectory())
        .UseKestrel((hostingContext, options) =>
        {
            if (hostingContext.HostingEnvironment.IsDevelopment())
            {
                options.Listen(IPAddress.Loopback, 50001, listenOptions =>
                {
                    listenOptions.UseHttps("localhost.p12", "1234");
                });
            }
        });

1 Ответ

0 голосов
/ 22 декабря 2018

Сама настройка ASP.NET выполняется внутри вашего Startup класса (который вы уже указали с помощью UseStartup<Startup>(), а не внутри вашего Program класса.

Откройте файл Startup.cs и убедитесь, чтоу вас есть:

  • UseStaticFiles() для обслуживания статических файлов, таких как index.html (index.html не является Razor View для ASP.NET MVC или Razor Page, поскольку они имеют расширение .cshtmlи обычно именуются в соответствии с их соответствующими действиями контроллера в TitleCase.
  • UseMvc() для использования системы ASP.NET Core MVC с Controller и поддержкой Razor View.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...