2016-01-04 14 views
10

Sto lavorando all'app UWP sul mio laptop. Su un laptop precedente con una versione preliminare di Windows 10, sono riuscito a far visualizzare la mia app sul mio servizio Web API su localhost, ma su questo laptop, indipendentemente da quello che provo, ottengo sempre questo errore utilizzando il client HTTP:Impossibile vedere localhost dall'app UWP

A connection with the server could not be established

var response = await client.GetAsync(BuildGetRequest()).AsTask(source.Token); 

Se io punto al mio servizio pubblicato su Azure, tutto funziona bene. Ecco cosa ho provato:

  • Il loopback di rete locale consentito è impostato nelle proprietà del progetto dell'app. Confermato che il nome del mio pacchetto dell'app è stato selezionato nell'utilità Esegui loopback di AppContainer in Fiddler.
  • Set Internet (Client), Internet (Client Server &), funzionalità di Private Networks in Package.AppManifest
  • provato a installare manualmente c:> checknetisolation loopbackexempt -a -n = dalla riga di comando
  • UWP Enable local network loopback
  • Completamente disabilitato il firewall in un atto di pura disperazione.
  • Eseguire la mia API Web in IIS completo anziché IIS Express.

Niente fa differenza.

ho notato che sto avendo un problema simile a bordo, nonostante permettendo Localhost loopback in about:flags e molti altri suggerimenti che ho trovato su:

My Web API piste di progetto bene in ogni browser tranne Edge, quindi suppongo che Edge sia un'app universale, il problema è collegato. Quando metto a punto nel bordo, ottengo questo errore:

Can’t connect to the proxy server

Se vado a Settings e spegnere il server proxy manuale, eseguire di nuovo ottengo:

Hmm, we can’t reach this page

Ho notato però che per qualche ragione l'impostazione del server Proxy manuale continua a riaccendersi durante le esecuzioni successive.

Qualcuno potrebbe suggerire qualcos'altro che potrei provare a ottenere la mia app UWP per vedere il mio servizio su localhost?

+0

sto colpendo lo stesso identico problema, anche incluso il browser Edge non funzionante. – grimus

risposta

13

Non è un bug, è una funzionalità, chiamata isolamento della rete. È stato introdotto in Windows 8 (dove le app Metro erano chiamate app di Windows Runtime).

For security reasons, a UWP app that is installed in the standard manner is not allowed to make network calls to the device it is installed on.

Maggiori dettagli here e here.

La funzione può essere disattivata nelle impostazioni Studio di debug visivi, anche l'articolo How to allow loopback for Windows Runtime apps parla usando lo strumento CheckNetIsolation di Windows per consentire l'accesso di loopback per applicazione:

CheckNetIsolation.exe LoopbackExempt -s 

CheckNetIsolation.exe LoopbackExempt –a –p=S-1-15-2-4125766819-3228448775-2449327860-2490758337-1264241865-3581724871-2122349299 

Ci sono anche strumenti grafici quali Enable Loopback Utility e Loopback Exemption Manager che rendono questo compito più facile:

Enable Loopback Utility

+1

Il problema è che anche con tutti quelli che non puoi avere un Socket ascolto o StreamSocket in un'app UWP che accetta connessioni dalla stessa macchina –

+0

@GeorgeBirbilis arrr crap che fa schifo. Ho appena trovato un documento qui a conferma di questo "Inoltre, un'app di Windows Runtime può utilizzare un loopback IP solo come indirizzo di destinazione per una richiesta di rete client." https://msdn.microsoft.com/en-us/windows/hh780593.aspx – Geordie

+0

la cosa divertente è che se si utilizza il Bridge Desktop per mettere un'app Win32 nell'archivio di Windows, sarà in grado di fare tutto ciò che desidera in merito networking se non mi sbaglio –

Problemi correlati