私は大きなWebアプリケーションの真っ只中にあり、データサービスとしてEntity Frameworkを使用しています。現在、データを処理するためにいくつかのWindowsアプリケーションが必要なので、WCFを使用してサービスを提供したいと思います。
しかし、クライアントがサービスを利用したい場合、エンティティモデルのキャッシュに使用するパブリックプロパティからエラーが発生します
public partial class DepositEntities : ObjectContext
{
public static DepositEntities Current
{
get
{
DepositEntities oc =
HttpContext.Current.Items["ObjectContext"] as DepositEntities;
if (oc == null)
{
oc = new DepositEntities();
HttpContext.Current.Items["ObjectContext"] = oc;
}
return oc;
}
}
}
コードをデバッグした後、問題はこの行にあることがわかります
DepositEntities oc = System.Web.HttpContext.Current.Items["ObjectContext"] as DepositEntities;
Current
プロパティ本体をこのようなものに変更すると
public static DepositEntities Current
{
get
{
DepositEntities oc = new DepositEntities();
return oc;
}
}
サービスからデータを取得するときはすべて問題ありません問題はありません
しかし、コードに参加しているところはどこでも問題があります。これは、次の理由で異なるデータソースがあると考えているためです。new DepositEntities();