Доступ к веб-приложению ASP.NET Core 2.1, размещенному на локальном хосте, с мобильного устройства - PullRequest
0 голосов
/ 18 ноября 2018

Я создаю готовое веб-приложение asp.net core 2.1 с реакцией.Когда я запускаю его, он размещается на localhost: (некоторый порт).Я хочу получить к нему доступ на своем мобильном устройстве.

Я попытался получить к нему доступ с локального хоста, добавив порт в Правила для входящих подключений на брандмауэре Защитника Windows. Это не сработало, поэтому я хотел изменить IP-адрес на0.0.0.0:( некоторый порт) или разместить его на моем локальном IPv4-адресе, изменив lauchSettings.json и Program.cs методом .UseUrls. Это не сработало, выдало ошибку, что приложение не может запуститься.Я попытался использовать свой внешний IP-адрес, который я получил, спросив «Мой IP-адрес» в Google, но это также не помогло.

Изображение файла Program.cs

Изображение lauchSettings.js

Ошибка при изменении lauchSettings.js

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

localhost всегда указывает на текущий адрес обратной связи устройства, поэтому localhost на вашем компьютере указывает на себя, а localhost на телефоне также указывает на себя.Если ваш телефон подключен к той же сети, что и ваш компьютер, вы можете запустить сайт по определенному локальному IP-адресу вместо localhost и подключиться с помощью IP-адреса.Но я не думаю, что можно использовать IISExpress с чем-то, кроме localhost.Вы можете использовать другой профиль запуска и просто использовать kestrel напрямую с ipaddress вместо IISExpress.

Если вы используете эмулятор Android на своей машине, то вы можете получить доступ к сайту через специальный ipaddress, который позволяет эмуляторуподключитесь к компьютеру, поэтому, если вы работаете на localhost: 5566, из эмулятора вы бы использовали http://10.0.2.2:5566

Я не уверен насчет других эмуляторов для iphone и т. д., они могут иметь другие соглашения.

0 голосов
/ 18 ноября 2018

Я использую это, может быть, это может помочь

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseUrls("https://*:5566")
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>();

Убедитесь, что порт 5566 включен в брандмауэре.С телефона доступа https://your_comp_ip_address:5566/ должно работать.Измените your_comp_ip_address на IP-адрес вашего компьютера, вы можете проверить его из CMD.Просто запустите «ipconfig» в CMD

. В Visual Studio запустите само приложение, а не IIS Express, выберите в раскрывающемся списке имя приложения, затем нажмите клавишу F5.Пожалуйста, проверьте все эти фотографии ниже:

В раскрывающемся списке выберите AppName для его запуска

Порты брандмауэра Windows, добавьте новое правило для исходящих сообщений:Порт, скажем, укажите диапазон 5560-5570

Проверьте IP-адрес

Убедитесь, что при запуске отображается CMD ипроверьте код https://*:5566

В браузере телефона введите правильный URL-адрес

А затем, вуаля !!!Ваше веб-приложение работает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...