Зависимость Kestrel.Https 1.0.0-rc1-final не поддерживает фреймворк DNXCore, версия =v5.0

Я пытаюсь настроить https на мой сервер Kestrel для работы на Ubuntu 14 с dnxcore50.

Но когда я добавляю зависимость к:

"Microsoft.AspNet.Server.Kestrel.Https": "1.0.0-rc1-final"

И я пытаюсь восстановить свой пакет, я получаю это сообщение:

Зависимость Kestrel.Https 1.0.0-rc1-final не поддерживает фреймворк DNXCore, версия =v5.0

Если я захожу в Windows, использую dnx451 и добавляю те же зависимости, все работает отлично.

Но если я не могу использовать Kestrel.Https на Ubuntu с dnxcore50, как я могу настроить Https на Ubuntu с помощью dnxcore50?

2 ответа

Это связано с тем, что версия Kestrel для HTTPS предназначена только для полной платформы.NET на RC1: https://www.nuget.org/packages/Microsoft.AspNet.Server.Kestrel.Https/1.0.0-rc1-final.

По состоянию на RC2 Kestrel.Https будет целевым netstandard1.3: https://github.com/aspnet/KestrelHttpServer/blob/dev/src/Microsoft.AspNetCore.Server.Kestrel.Https/project.json#L20.

Таким образом, решение состоит в том, чтобы либо дождаться сброса RC2, либо использовать биты RC2, истекающие из MyGet.

Сегодня Kestrel уже поддерживает HTTPS:

Вот библиотека, которая поддерживает его начиная с версии 1.0.0:

https://www.nuget.org/packages/Microsoft.AspNetCore.Server.Kestrel.Https/

Чтобы реализовать его в своем коде, вы должны инициализировать ядро ​​приложения asp.net и добавить UseHttps как вариант

Вот пример того, как это сделать!

    public static void Main(string[] args)
    {
        var host = new WebHostBuilder()
            .UseKestrel(options =>
            {
                // options.ThreadCount = 4;
                options.NoDelay = true;
                options.UseHttps("testCert.pfx", "testPassword");
                options.UseConnectionLogging();
            })
            .UseUrls("http://localhost:5000", "https://localhost:5001")
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseStartup<Startup>()
            .Build();

        // The following section should be used to demo sockets
        //var addresses = application.GetAddresses();
        //addresses.Clear();
        //addresses.Add("http://unix:/tmp/kestrel-test.sock");

        host.Run();
    }

Ниже также есть ссылка с образца

https://github.com/aspnet/KestrelHttpServer/blob/dev/samples/SampleApp/Startup.cs#L37-L43

Другие вопросы по тегам