Ich baue ASP.Net MVC Anwendung basierend auf UnitOfWorkApplication und ich möchte Castle ATM-Anlage verwenden. Im Moment habe ich Probleme mit dem Löschen der Sitzung auf Anfrage. Meine Service-Klasse (die in meinem Controller-Aktion-Methode aufgerufen wird) sieht wie folgt aus:Rhino UnitOfWorkApplication + Castle Automatische Transaktionsverwaltung Anwendung wird nicht automatisch auf Anfrage Ende
[Transactional]
public class UserAdminService : IUserAdminService
{
[Transaction(TransactionMode.Requires)]
public User CreateNewUser(string username, string password, string firstName, string lastName)
{
var u = new User(username)
{
PasswordHash = GetPasswordHash(password),
FirstName = firstName,
LastName = lastName
};
userRepo.Save(u);
//UnitOfWork.CurrentSession.Flush();
return u;
}
Als ich die Kommentar- "UnitOfWork.CurrentSession.Flush();" row alles funktioniert gut - neuer Benutzer ist in DB gespeichert. Aber nichts bleibt bestehen, wenn ich die Sitzung nicht explizit lösche.
Die UnitOfWorkApplication + ATM sollte Änderungen auf Anfrage Ende AFAIK flush - ist das richtig? Hat jemand einen Ratschlag, was ich versuchen sollte, um es ohne die explizite Sitzung funktionieren zu lassen.Flush() Anruf?
Ich denke nur, wenn ich den ATM ordnungsgemäß einrichten - ist DefaultTransactionManager ok? Ich registriere die Einrichtung AutomaticTransactionManagement.TransactionFacility und dann Castle.Services.Transaction.DefaultTransactionManager als eine Komponente im IoC-Container meiner App. – Buthrakaur