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();
}
}