2016-08-28 6 views
0

のリストを返すウェブAPIを呼び出すが、それは常にエラースローする方法:内部サーバーエラーを私は、オブジェクトのリストを返すWeb APIを呼び出すためにしようとしていたオブジェクト

次のように私のコード: ウェブAPI

// GET: api/UploadFileStructures 
     [ResponseType(typeof(IEnumerable<UploadFileStructure>))] 
     public IHttpActionResult GetUploadFileStructuresByMovieId(int MovieDetailId) 
     { 
      IEnumerable<UploadFileStructure> uploaFileStructures= db.UploadFileStructures.Where(u=>u.MovieDetailId== MovieDetailId).AsEnumerable(); 
      return Ok(uploaFileStructures); 
     } 

HTTPリクエスト:

using (var client = new HttpClient(handler)) 
      { 
       //client.BaseAddress = UsersLogin; 
       client.DefaultRequestHeaders.Accept.Clear(); 
       client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));    

    var response = client.GetAsync(String.Format(GetUploadFileStructuresByMovieIdUrl, MovieDetailId)).Result; 
      if (response.IsSuccessStatusCode) 
      { 

       UploadFileStructureDtls= response.Content.ReadAsAsync<IQueryable<UploadFileStructure>>().Result; 

      } 
     } 

response.IsSuccessStatusCodeが偽returingされ、応答は "内部サーバーエラー"

を返します
+1

これは実際の問題が何であるかを伝えるにはあまりにも一般的であるため、内部サーバーエラーの詳細を調べてください。 – Nkosi

+0

エラーメッセージを表示するには、サーバーのwebapiにアクセスしてください。 –

答えて

0

問題は、サーバーのコード行にある:

IEnumerable<UploadFileStructure> uploaFileStructures= db.UploadFileStructures.Where(u=>u.MovieDetailId== MovieDetailId).AsEnumerable(); 

あなたがそこにブレークポイントを設定する場合は、生成された実際のエラーメッセージが表示されるはずです。

+0

私はその問題をdb.UploadFileStructures.Where相対オブジェクトを返すエラーが発生していることがわかりました。 クラスオブジェクトが他の相対クラスオブジェクトと競合している場合は、単一のクラスオブジェクトだけを返す必要がありますか。 上記の場合、UploadFIleStructureは3レコードを返し、それぞれのレコードはFIleStructureクラスオブジェクトと再びマッピングされます。 –

関連する問題