CSLA: RootEditable template update

MyEgo.cz

home foto blogy mywindows.cz kontakt

CSLA: RootEditable template update

Tak jsem se trochu vrtal v šablonách a upravil jsem použití transakce a pár jiných drobností. Zdroják viz níže.

Původní způsob použití v minulém příspěvku je stále platný a funkční. Na zde zmiňovaném způsobu použití transakce se mi líbilo využití USING klausule, která provede automaticky Dispose. Chci jen upozornit na jednu chybu, viz zkrácená verze SqlException:

XXX.YYYY.UnitTest.Diary.TDiarySportItem.T1Insert : Csla.DataPortalException : DataPortal.Update failed (System.Data.SqlClient.SqlException: MSDTC on server 'JUDELL\SQLEXPRESS' is unavailable. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)

Chyba se vyskytla po použití objektu TransactionScope. Hledal jsem na googlu a našel jsem například toto nebo toto. Řešením je zajistit automatické spuštění služby Distributed Transaction Coordinator. Služba je velmi pravděpodobně nastavena na Manuál a není spuštěna. Další možností je nastavení několika vlastností ve vlastnostech MSDTC. Většinou jde o nastavení pro povoleni vzdálené komunikace a přístupu klienta na server. Nastavení pro MSDTC je dostupné zde:

1. Start->Nástroje pro správu->Component Services

2. pokračujte do Služba komponent service->Počítače->Můj počítač

3. Otevřete kontextové menu na Můj počítač a vyberte Vlastnosti

4. Vyberte MSDTC záložku a zde klikněte na tlačítko Bezpečnost (Security)

 

A zde je zdrojový kód šablony pro EditableRoot objekt.


Nový komentář