質問

コードSmith nhibernateテンプレートを使用してマルチスレッドアプリケーションを開発しているのですが、セッションまたはすべてのスレッドを使用する必要があることを読みました。

どんな体でも、2つの異なるスレッドでcodesmith nhibernateを使用する方法の非常に簡単な例を提供できますか?それとも、少なくとも新しいセッションを作成するためにコードを私にprividedしますか?

前もって感謝します。

役に立ちましたか?

解決

コードスミス生成されたマネージャーオブジェクトはすでにスレッドセーフであり、各スレッドが独自のnhibernateセッションオブジェクトを取得するようにします。スレッドが適切に開閉して閉じられるようにするには、常にマネージャーを処分することが非常に重要です。これが例です:

IManagerFactory managerFactory = new ManagerFactory();
using (ICategoryManager categoryManager = managerFactory.GetCategoryManager())
{
    Category categoryA = new Category();
    categoryA.Id = "TEST1";
    categoryA.Name = "Test 1";
    categoryA.Descn = "Hello world!";

    categoryManager.Save(categoryA);
    categoryManager.Session.CommitChanges();
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top