5

WCF Web API サービスを作成しています。私の問題は、一部のメソッドが 200/OK 応答を返すことですが、ヘッダーと本文が空です。

Web サービスをセットアップする際に、ADO.NET Entity Data Model を作成しました。コード生成項目を追加するときに、ADO.NET DbContext Generator を選択しました。Model.tt ドキュメントで、HashSet と ICollection を List に変更しました。私は自分のウェブサイトを構築しました。

以前は、( Northwind データベースなどの) エンティティのリストを返すメソッドをコーディングすると、正常に機能していましList<Customer>た。List<Employee>時間が経つにつれて、それらのリストを返すことができなくなり、1 つのエンティティしか取得できなくなりました。List<string>これで、 orを返すことができるようになりましたList<int>が、リストやエンティティのインスタンスは返せません。を取得しようとするとList<AnyEntity>、応答は 200/OK ですが、応答ヘッダーと本文は空です。

デバッガーと Firefox の Web コンソールを使用してみました。FF の WC を使用すると、「未定義」のステータス コードしか取得できませんでした。ここからどこへ行けばいいのかわからない。

編集:データベースからすべてのエリアを取得しようとして、私はこれを行います:

[WebGet(UriTemplate = "areas")]
public List<a1Areas> AllAreas()
{
    return context.a1Areas.ToList();
}

これをデバッグするための他の方法をいただければ幸いです。前もって感謝します。

Merlyn のおかげで答えが見つかりました!

Global.asax ファイルで、プロキシを処理し、コンテキスト オブジェクトを破棄する 2 行をコメント アウトするのを忘れていました。コードは以下のとおりです。

void Application_BeginRequest(object sender, EventArgs e)
{
  var context = new AssignmentEntities();
  context.Configuration.ProxyCreationEnabled = false;
  HttpContext.Current.Items["_context"] = context;
}

void Application_EndRequest(object sender, EventArgs e)
{
  var context = HttpContext.Current.Items["_context"] as AssignmentEntities;
  if (context != null)
  {
    context.Dispose();
  }
}
4

0 に答える 0