在sideloading之后无法访问http:// localhost

时间:2016-04-01 09:12:18

标签: iis win-universal-app

我的应用程序UWP正在通过IIS访问某些数据,

 public static async Task<List<Uri>> GetMedia()
        {
            List<Uri> target = new List<Uri>();
            HtmlDocument document = new HtmlDocument();
            var httpClient = new HttpClient();
            var urlVideos = "http://localhost/Videos";
            var response = await httpClient.GetAsync(urlVideos);
            var result = await response.Content.ReadAsStringAsync();
            string htmlString = result;

            document.LoadHtml(htmlString);
            var collection = document.DocumentNode.DescendantsAndSelf()  ;
            foreach (HtmlNode link in collection)
            {
                if (link.Attributes.Contains("href") && !string.IsNullOrEmpty(link.Attributes["href"].Value.Trim().Trim('/')))
                {
                    target.Add(new Uri("http://localhost" + link.Attributes["href"].Value));
                }
            }
            return target;
        }

然后我正在调用这样的方法,

私人IList _videos  _videos =等待Proxy.GetMedia();

它运行良好,除非我在安装应用程序后,我才意识到_video保持为空,我可以浏览http://localhost/Videos所以我认为IIS配置得很好,

1 个答案:

答案 0 :(得分:2)

如果要从侧载应用程序访问localhost,则必须为此特定应用程序启用网络环回。每个应用都禁止默认访问http://localhost。 您可以在命令行上运行此命令:

checknetisolation LoopbackExempt -a -n=YourAppContainerPackageFamilyName

将YourAppContainerPackageFamilyName替换为您应用的AppContainer名称。您可以在应用的* .appxmanifest中找到它。您必须在您加载应用程序的计算机上运行它。在开发机器上,它默认启用。 另见此链接: https://msdn.microsoft.com/en-us/library/windows/apps/Hh780593.aspx