すべて、私はのようなコード書いていますASP.NETコントローラ+ Entity Framework Context =スレッドセーフ?
:
public class UserController : AuthenticatedController
{
private MunicipalContext db = new MunicipalContext();
// GET: Users/Edit/5
public ActionResult Edit(int? id)
{
//Do stuff with db.Users
}
// Other action methods that do stuff with db.Users
}
は、Javaの背景から来るが、これはサーブレットとインスタンス・フィールドのように感じていると、私の頭の後ろにその賑やか感を高めるために始めています。
私はスレッドの安全性の問題に遭遇しますか?
いいえ、それぞれの要求は独自のコントローラインスタンスで動作します。スレッドの安全性は、ゲームに持ち込む場合にのみ重要です。 –
@xxbbccこの場合、DbContextが複数のスレッド間で共有されていると思われる理由を説明してください。 –
あなたは、DIコンテナの設定によってコントローラインスタンスの再利用を強制することができますが、どうしてあなたは困ってしまいますか? –