LINQからデータを受信したのに、500の内部サーバーエラーを受信する

Jon Wisniewski

スタックオーバーフロー。

私が今日抱えている問題は、IDで単一の食品を取得しようとしてlocalhost:xxxxxにgetリクエストを送信すると、500の内部サーバーエラーが発生することです。

これについて私が理解していないのは、デバッグのコードを調べたところ、データベースから必要なすべての情報を含むアイテムが見つかったことが示されていますが、「OK(食品)」で送信しているときは、情報があるにもかかわらず、500内部サービスエラーを受け取ります。

私はWebAPIにかなり慣れていないので、いくつかの説明をいただければ幸いです。Visual Studio 2015、Entity Frame Work 6、およびSQL Management ServerDBを使用しています。

リンクを投稿して申し訳ありませんが、画像を投稿するには10の評判が必要だと言われています

protected void Page_Load(object sender, EventArgs e)
    {
            HttpClient client = new HttpClient();
            client.BaseAddress = new Uri("http://localhost:63591/");
            client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
            HttpResponseMessage response = client.GetAsync("api/foods/" + Request.QueryString["ID"]).Result;

            if (response.IsSuccessStatusCode)
            {
                string foodstring = response.Content.ReadAsStringAsync().Result;
                Food editFood = JsonConvert.DeserializeObject<Food>(foodstring);
                EditFoodName.Text = editFood.FoodName;
                EditCalories.Text = editFood.Calories.ToString();
                EditNotes.Text = editFood.Notes;
            }
    }

    [ResponseType(typeof(Food))]
    public IHttpActionResult GetFood(int id)
    {
        Food food = db.Foods.Find(id);
        if (food == null)
        {
            return NotFound();
        }

        return Ok(food);
    }



public partial class Food
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public Food()
    {
        this.MealFoods = new HashSet<MealFood>();
    }

    public int FoodID { get; set; }
    public string FoodName { get; set; }
    public int Calories { get; set; }
    public string Notes { get; set; }

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<MealFood> MealFoods { get; set; }
}

https://i.imgur.com/8h6EaZM.png

https://i.imgur.com/YkD8Ijp.png

ジェイルソンエヴォラ

代わりに、db.Foodsを直接操作するか、独自のパブリックオブジェクトを作成し、Linqを使用してクエリを管理するか、EntityFrameworkによって作成されたオブジェクトを直接操作する場合は、遅延読み込みとプロキシ生成を無効にする必要があります。独自の実装を使用すると、メソッドは次のようになります。

[ResponseType(typeof(PseudoFood))]
public IHttpActionResult GetFood(int id)
{
    //Food food = db.Foods.Find(id);
    PseudoFood food = (from a in db.Foods
                       where a.FoodID == id
                       select new PseudoFood()
                       {
                           FoodName = a.FoodName,
                           FoodID = a.FoodID,
                           Calories = a.Calories,
                           Notes = a.Notes
                       }).FirstOrDefault();

    if (food == null)
    {
        return NotFound();
    }

    return Ok(food);
}

Foodの代わりにPseudoFoodを使用する[ResponseType(typeof(PseudoFood))]に注意してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

サーバーからデータを受信し、Javaでデータを受信した場合にサーバーにデータを送信するプログラムの作成方法

分類Dev

サーバーからのデータ受信エラー

分類Dev

NodeJSサーバーのクライアントから受信したデータを印刷します

分類Dev

SwiftのJsonのサーバーからデータを受信します

分類Dev

サーバーから受信する予定のデータを参照する

分類Dev

サーバーからデータを受信するVue

分類Dev

エラー:HTMLページからサーバーにデータを送信し、サーバーからデータを受信します

分類Dev

Java(クライアント)からデータを受信するPython(サーバー)を別々の行で..(TCP)

分類Dev

サーバーがクライアントからシードしたよりも多くのデータを受信するのは奇妙です

分類Dev

iOSのソケットを介してサーバーからデータを受信する方法は?

分類Dev

Java SUBクライアント(ZMQ)上のPython ZeroMQPUBサーバーからデータを受信する方法

分類Dev

サーバーからすべてのデータを受信したときにのみUIViewを表示する方法

分類Dev

PHPを使用して1つのサーバーから別のサーバーにデータを受信する方法

分類Dev

Woocommerce3の外部配送サービスからの注文に受信したデータを保存します

分類Dev

APIから受信したデータを更新するためにどのコンポーネントライフサイクルを使用しますか

分類Dev

受信しているオブジェクトを表すパラメーターのタイプが宣言されている間に、サーバーから受信したJSON文字列を手動で解析する必要がありますか?

分類Dev

サーバーから受信した画像のURLをAngularjsとionicの変数に保存する方法

分類Dev

センサーから受信したMySQLデータを変更する

分類Dev

別のオブザーバブルから受信したデータの配列でMergeMapを使用する-RxJsAngular

分類Dev

サーバーから情報を受信した後、コントローラーからサービスにデータを渡す

分類Dev

tcp / ipサーバーから受信したデータをJavaのテキストファイルに保存する方法

分類Dev

JavaサーバーからXMLHttpRequestを使用して圧縮されたJSONデータを受信する方法

分類Dev

サーバーからデータを受信したときのAjaxjqueryの問題

分類Dev

Typescriptは、サーバーからカスタムタイプ変数への応答を受信したときにエラーを確認しません

分類Dev

AngularJSの投稿がサーバーからデータを受信しないのはなぜですか?

分類Dev

受信したデータの種類をサーバーに理解させる方法、またはその逆。

分類Dev

外部から投稿された受信jsonデータを受信する方法

分類Dev

.tar.gzファイルの送信中にCurlエラー56「ピアからデータを受信するときに失敗しました」

分類Dev

Android KotlinのBluetoothデバイスから受信したデータをデコードしますか?

Related 関連記事

  1. 1

    サーバーからデータを受信し、Javaでデータを受信した場合にサーバーにデータを送信するプログラムの作成方法

  2. 2

    サーバーからのデータ受信エラー

  3. 3

    NodeJSサーバーのクライアントから受信したデータを印刷します

  4. 4

    SwiftのJsonのサーバーからデータを受信します

  5. 5

    サーバーから受信する予定のデータを参照する

  6. 6

    サーバーからデータを受信するVue

  7. 7

    エラー:HTMLページからサーバーにデータを送信し、サーバーからデータを受信します

  8. 8

    Java(クライアント)からデータを受信するPython(サーバー)を別々の行で..(TCP)

  9. 9

    サーバーがクライアントからシードしたよりも多くのデータを受信するのは奇妙です

  10. 10

    iOSのソケットを介してサーバーからデータを受信する方法は?

  11. 11

    Java SUBクライアント(ZMQ)上のPython ZeroMQPUBサーバーからデータを受信する方法

  12. 12

    サーバーからすべてのデータを受信したときにのみUIViewを表示する方法

  13. 13

    PHPを使用して1つのサーバーから別のサーバーにデータを受信する方法

  14. 14

    Woocommerce3の外部配送サービスからの注文に受信したデータを保存します

  15. 15

    APIから受信したデータを更新するためにどのコンポーネントライフサイクルを使用しますか

  16. 16

    受信しているオブジェクトを表すパラメーターのタイプが宣言されている間に、サーバーから受信したJSON文字列を手動で解析する必要がありますか?

  17. 17

    サーバーから受信した画像のURLをAngularjsとionicの変数に保存する方法

  18. 18

    センサーから受信したMySQLデータを変更する

  19. 19

    別のオブザーバブルから受信したデータの配列でMergeMapを使用する-RxJsAngular

  20. 20

    サーバーから情報を受信した後、コントローラーからサービスにデータを渡す

  21. 21

    tcp / ipサーバーから受信したデータをJavaのテキストファイルに保存する方法

  22. 22

    JavaサーバーからXMLHttpRequestを使用して圧縮されたJSONデータを受信する方法

  23. 23

    サーバーからデータを受信したときのAjaxjqueryの問題

  24. 24

    Typescriptは、サーバーからカスタムタイプ変数への応答を受信したときにエラーを確認しません

  25. 25

    AngularJSの投稿がサーバーからデータを受信しないのはなぜですか?

  26. 26

    受信したデータの種類をサーバーに理解させる方法、またはその逆。

  27. 27

    外部から投稿された受信jsonデータを受信する方法

  28. 28

    .tar.gzファイルの送信中にCurlエラー56「ピアからデータを受信するときに失敗しました」

  29. 29

    Android KotlinのBluetoothデバイスから受信したデータをデコードしますか?

ホットタグ

アーカイブ