Guys, it is no way normal if you release 4.3.1 nightly with breaking changes(I mean SessionEventAccessor ofc). Name it 4.4 or somewhat like that. Plz, create a branch for fix-only versions. Moreover, now, when there is no source, I cannot get, how to use that new class. Btw, I'm getting this:

Test(s) failed. System.NullReferenceException : Object reference not set to an instance of an object.
   at Werp.Model.Models.CachingModule.<OnBuilt>b__0(Object source, SessionEventArgs args) in d:\BuildAgents\2\work\e48b9b88332e071b\trunk\Werp.Model.Models\CachingModule.cs:line 81
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at Xtensive.Storage.Domain.OpenSession(SessionConfiguration configuration, Boolean activate)
   at Werp.Controller.Tests.Templates.DomainBoundTest.BeforeTestMethod() in d:\BuildAgents\2\work\e48b9b88332e071b\trunk\Werp.Controller.Tests\Templates\DomainBoundTest.cs:line 48

with this:

    /// <summary>
    /// Модуль для поддержки иерархий
    /// </summary>
    public sealed class HierarchyRebuildModule : IModule
        public HierarchyRebuildModule()

        /// <summary>Called when the build of <see cref="T:Xtensive.Storage.Building.Definitions.DomainModelDef"/> is completed.</summary>
        /// <param name="context">The domain building context.</param>
        /// <param name="model">The domain model definition.</param>
        public void OnDefinitionsBuilt(BuildingContext context, DomainModelDef model)

        /// <summary>Called when 'complex' build process is completed.</summary>
        /// <param name="domain">The built domain.</param>
        public void OnBuilt(Domain domain)
            domain.SessionOpen += (source, args) =>
                                      var accessor = args.Session.Services.Get<SessionEventAccessor>();
                                      accessor.TransactionOpened += TransactionOpened; // <<<<<<<<<<<<<====================== line 81
                                      accessor.TransactionCommitting += TransactionCommitting;
                                      accessor.EntityChanging += EntityEvent;
                                      accessor.EntityCreated += EntityEvent;
                                      accessor.EntityRemove += EntityEvent;

Updated at 16.08.2010 12:07:49

Ok, thx for the fix. Concerning branching: well, then it would be nice to have latest stable nightly + latest dev nightly builds. So one could use eigther new features or only fixes. For eg. we dont really need new features, but will be very happy with bugfixes :)

This thread was imported from our support forum. The original discussion may contain more detailed answer.

asked Aug 16 '10 at 06:31

xumix's gravatar image


edited Sep 03 '10 at 16:26

Alex%20Yakunin's gravatar image

Alex Yakunin

One Answer:

Hmm... There is no SessionEventAccessor for pretty long time - that's why you get NullReferenceException on attempt to get it. Btw, it's better to use Session.Services.Demand<t>() - Demand is extension method wrapping Get, so it would throw an exception immediately in this case.

Concerning the fix: you should use Session.Events member instead.

Concerning branching: we use it; latest nightly build is intentionally produced from development branch - it passes the same amount of tests as stable version.

answered Aug 16 '10 at 09:23

Alex%20Yakunin's gravatar image

Alex Yakunin

That will be done shortly. Actually, current situation isn't as good as you want only because we also maintain v4.2 branch - likely, we'll stop paying so much attention to this in few weeks, and this will significantly simplify everything.

(Aug 16 '10 at 09:23) Alex Yakunin Alex%20Yakunin's gravatar image

ok, thanks a lot:)

(Aug 16 '10 at 09:23) xumix xumix's gravatar image
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
toggle preview


Once you sign in you will be able to subscribe for any updates here



Asked: Aug 16 '10 at 06:31

Seen: 5,844 times

Last updated: Sep 03 '10 at 16:26

powered by OSQA