2017-04-12 14 views
0

私はXamarin FormsでWebサービスを試していました。私はIIS Express(VS 2015に付属)でホストされているシンプルなWebサービスを作った。 Webサービスは従業員情報を処理します。UWPアプリケーションからlocalhost上でホストされているwebserviceに接続できません

これは、最初はWindowsエミュレータで正常に機能しました。しかし、私はそれが私が指示に従った後、

Instructions to make webservice work on android emulator

を人からの次の指示を得た助けを求めるのAndroid emulator.Uponで動作するように取得するために問題を抱えていただけでなく、それは、Androidエミュレータで動作しませんでしたしかし、UWPアプリも機能しなくなりました。それは

public class RestClient<T> 
    { 
     private const string WebServiceUrl = "http://localhost:52792/api/Employees/"; 
     //private const string WebServiceUrl = "http://services.groupkt.com/country/get/all/"; 

     public async Task<List<T>> GetAsync() 
     { 
      var httpClient = new HttpClient(); 
      httpClient.DefaultRequestHeaders.ExpectContinue = false; 
      var json = ""; 
      try 
      { 

       **json = await httpClient.GetStringAsync(WebServiceUrl); 
      } 
      catch (HttpRequestException e) 
      { 
       var error = ""; 
       error=e.StackTrace; 
       error = e.Source; 
       error = e.HelpLink; 
       error = e.ToString(); 


      } 

      var taskModels = JsonConvert.DeserializeObject<List<T>>(json); 

      return taskModels; 
     } 

し、次のように失敗したところ、以下の

は、私がここで何が悪かったのか少し考えを持っているエラーは、

System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Runtime.InteropServices.COMException: The text associated with this error code could not be found. 

A connection with the server could not be established 

    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Net.Http.HttpHandlerToFilter.<SendAsync>d__4.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Net.Http.HttpClientHandler.<SendAsync>d__86.MoveNext() 
    --- End of inner exception stack trace --- 
    at System.Net.Http.HttpClientHandler.<SendAsync>d__86.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Net.Http.HttpClient.<GetContentAsync>d__32`1.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at Plugin.RestClient.RestClient`1.<GetAsync>d__1.MoveNext() 

をスローされています。

更新:UWPアプリケーションに障害が発生し WindowsおよびWindows Phoneアプリケーションで

これはまだ正常に動作します。

+0

投稿した内容から、すべての手順で異なるURLとパスがあるようです。正確な情報がないと間違ったときを教えるのは難しいでしょう。クライアントに適切なWebServiceUrlを持っていない可能性があります。あなたは最終的にあなたの問題を解決しましたか? – monty

答えて

0

RestClientクラスで、URL http://localhost:52792/api/Employees/は、IIS Expressをホストしているマシンではなく、デバイスのローカルホストを指しています。

関連する問題