Как установить удаленный URL, когда веб-приложение работает как служба в .net core (2.2) - PullRequest
0 голосов
/ 16 апреля 2019

Я развернул веб-приложение .net core(2.2) в качестве службы Windows, но не смог получить доступ к этому приложению с удаленного ПК.

Приложение работает правильно с Url = "http://localhost:5000" на локальной машине.

Я указал Url = "http://XXX.XXX.XX.XX:5000" с IP-адресом в файле "launchSettings.json", но не смог получить к нему доступ с удаленного ПК.

В целях тестирования я отключил настройки брандмауэра, но они не оказывают никакого влияния.

Среда развертывания веб-приложений: Windows7

Существующий исходный код:

launchSetting.json

{
  "iisSettings": {
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": {
      "applicationUrl": "http://localhost:56032",
      "sslPort": 44324
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "TestApp": {
      "commandName": "Project",
      "launchBrowser": true,
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Program.cs

public static void Main(string[] args)
{
    var isService = !(Debugger.IsAttached || args.Contains("--console"));
    if (isService)
    {
            var pathToExe = Process.GetCurrentProcess().MainModule.FileName;
            var pathToContentRoot = Path.GetDirectoryName(pathToExe);
            Directory.SetCurrentDirectory(pathToContentRoot);
    }

    var builder = CreateWebHostBuilder(args.Where(arg => arg != "--console").ToArray());
    var host = builder.Build();

    if (isService)
        host.RunAsService();
    else
        host.Run();
}

Ожидаемый результат: Возможность доступа к основному веб-приложению .net, установленному в качестве веб-службы, с удаленного ПК.

1 Ответ

0 голосов
/ 21 апреля 2019

Вы пытались открыть входящий порт в брандмауэре Защитника Windows в режиме повышенной безопасности -> Входящие правила -> Новое правило -> Порт? Open port

...