No i znowu ten Type Initialization Exception.
Tym razem w pracy (pozdro dla szefa- pozwolił mi na opisanie przypadku) zdarzyła mi się taka sytuacja.
Zrobiłam drobną zmianę w kodzie, by umożliwić sterowanie testemi (wstrzeliwany config z wiersza poleceń- . Wszystko pięknie ładnie na zielono, odpalam apkę….
Exception message: Inicjator typów zgłosił wyjątek dla typu 'NHibernate.Cfg.Environment'.Exception source: NHibernate Stack trace: w NHibernate.Cfg.Environment.get_Properties() w NHibernate.Cfg.Configuration.Reset() w NHibernate.Cfg.Configuration..ctor(SettingsFactory settingsFactory) w NHibernate.Cfg.Configuration..ctor() w (dobra, ukrócę wam te męki)
generalnie potem gdzieś w inner znalazłam coś takiego:
An exception occurred parsing configuration :Element element 'session-factory' w przestrzeni nazw 'urn:nhibernate-configuration-2.2' nie może zawierać tekstu. Lista oczekiwanych możliwych elementów: element 'property, mapping, class-cache, collection-cache, event, listener' w przestrzeni nazw 'urn:nhibernate-configuration-2.2'. --> Element element 'session-factory' w przestrzeni nazw 'urn:nhibernate-configuration-2.2' nie może zawierać tekstu. Lista oczekiwanych możliwych elementów: element 'property, mapping, class-cache, collection-cache, event, listener' w przestrzeni nazw 'urn:nhibernate-configuration-2.2'.
O co chodzi? Była sobie apka korzystająca z 2 typów baz (oracle i ms sql) i chciałam móc wiedzieć, z której bazy danych ostatnio skorzystano – tzn jaka sesja została stworzona. Dodałam sobie coś takiego
public static DbTypes LastUsedDbType { get; set; }
aby tą informację globalnie przechować (DBTypes to krótki enum co trzyma rodzaj bazy). Tak, wiem że brzydko, bo statyczna wartość i w ogóle, ale przecież to do celów testowych było:)
Okazało się, że nie można do fabryki sesji dodawać czego się chce- co to to nie.
Skorzystałam z faktu, że jak coś jest statyczne to może być gdziekolwiek- więc po prostu przeniosłam ową propertę na zewnątrz i znowu mogłam się cieszyć uruchamiającą się aplikacją.
I … to chyba na tyle.
One Comment
Znowu TypeInitializationException
Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl
Comments are closed.