Я настроил сервер IdentityServer4, который запускается, если я делаю dotnet run
в главном каталоге проекта, но не работает правильно, если я его опубликую и затем пытаюсь запустить dll с помощью dotnet:
dotnet publish
cd bin/Debug/netcoreapp2.2/publish
dotnet MyIdentityServer.dll
Я использую ASP.Net Core 2.2. Я пробовал как в своей обычной среде разработки, а также с использованием SDK и док-контейнеров времени выполнения. Он работает с использованием SDK как в моей обычной среде, так и в контейнере SDK. Он не работает при использовании среды выполнения в моей обычной среде разработки или внутри контейнера среды выполнения.
Когда я запускаю dotnet, я вижу веб-интерфейс для IdentityServer, но когда я запускаю опубликованную DLL-библиотеку, при запуске не появляются такие же сообщения запуска IdentityServer, и после того, как он говорит, что работает, я не могу подключиться к сервер на порту, который он говорит, должен работать.
Вот как выглядят сообщения запуска, когда оно работает после выполнения dotnet run
:
MacBook-Pro:MyIdentityServer XXXXXXXXXX$ dotnet run
info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
User profile is available. Using '/Users/XXXXXXXXXX/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest.
info: IdentityServer4.Startup[0]
Starting IdentityServer4 version 2.3.2.0
info: IdentityServer4.Startup[0]
You are using the in-memory version of the persisted grant store. This will store consent decisions, authorization codes, refresh and reference tokens in memory only. If you are using any of those features in production, you want to switch to a different store implementation.
info: IdentityServer4.Startup[0]
Using the default authentication scheme idsrv for IdentityServer
dbug: IdentityServer4.Startup[0]
Using idsrv as default ASP.NET Core scheme for authentication
dbug: IdentityServer4.Startup[0]
Using idsrv as default ASP.NET Core scheme for sign-in
dbug: IdentityServer4.Startup[0]
Using idsrv as default ASP.NET Core scheme for sign-out
dbug: IdentityServer4.Startup[0]
Using idsrv as default ASP.NET Core scheme for challenge
dbug: IdentityServer4.Startup[0]
Using idsrv as default ASP.NET Core scheme for forbid
Hosting environment: Development
Content root path: /Users/XXXXXXXXXX/Projects/FirstIdentityServer4/src/MyIdentityServer
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.
Вот как выглядят сообщения запуска, когда он не работает после запуска опубликованной DLL напрямую с dotnet MyIdentityServer.dll
:
MacBook-Pro:publish XXXXXXXXXXXX$ dotnet MyIdentityServer.dll
Hosting environment: Production
Content root path: /Users/XXXXXXXXXXX/Projects/FirstIdentityServer4/src/MyIdentityServer/bin/Debug/netcoreapp2.2/publish
Now listening on: http://localhost:5000
Now listening on: https://localhost:5001
Application started. Press Ctrl+C to shut down.
Вот мой каталог проектов:
MacBook-Pro:MyIdentityServer XXXXXXXXX$ ls
Config.cs appsettings.Development.json
Dockerfile appsettings.json
MyIdentityServer.csproj bin
Program.cs obj
Properties something.txt
Quickstart tempkey.rsa
Startup.cs wwwroot
Views
Вот мой каталог публикации после выполнения dotnet publish
:
MacBook-Pro:publish XXXXXXXXXX$ ls
IdentityModel.dll MyIdentityServer.pdb
IdentityServer4.Storage.dll MyIdentityServer.runtimeconfig.json
IdentityServer4.dll appsettings.Development.json
MyIdentityServer.Views.dll appsettings.json
MyIdentityServer.Views.pdb tempkey.rsa
MyIdentityServer.deps.json web.config
MyIdentityServer.dll wwwroot
Я публикую это неправильно или запускаю неправильно?