Configuring NServicebus 4.7 with a predefined Autofac container -


i'm bit @ loss here. i'm developing hosted nservicebus (v4.7) windows service , using autofac (v3.5) own type resolution. given nservicebus documentation thought possible add own container in nservicebus's endpoint configuration. no matter do, can't work. current endpointconfig following:

using system; using system.configuration; using system.io; using system.linq; using system.reflection; using autofac; using hyflo.base; using nservicebus; using nservicebus.objectbuilder.autofac; using nservicebus.objectbuilder.common.config;  namespace hyflo.service {     /// <summary>     ///     endpointconfig     /// </summary>     public class endpointconfig : iconfigurethisendpoint, ineedinitialization, asa_publisher     {         public void init()         {             tracewriter.info("scannning hyflo assemblies .. ");              var hyfloassemblies = directory.getfiles(directory.getcurrentdirectory(), "hyflo.*.dll",                                                      searchoption.topdirectoryonly);              tracewriter.info("initializing autofac assemblies .. ");             try             {                 var builder = new containerbuilder();                 assembly[] allassemblies = hyfloassemblies.select(assembly.loadfile).toarray();                 builder.registerassemblytypes(allassemblies).asimplementedinterfaces().instanceperlifetimescope();                 icontainer container = builder.build();                  tracewriter.trace(                     string.format(                         "found {0} assembl{1}. configuring nservicebus use autofac preinitialized these assembl{1} ..",                         allassemblies.count(), allassemblies.count() == 1 ? "y" : "ies"));                  configure.with().usingcontainer(new autofacobjectbuilder(container));             }             catch (exception ex)             {                 tracewriter.trace(string.format("exception occurred during initialization. exception is: {0}\n{1}",                                                 ex.message, ex.stacktrace));             }              tracewriter.info("initializing database en msmqsubscription .. ");              string databusbasepath = configurationmanager.appsettings["databusbasepath"] ?? "";              tracewriter.trace(string.format("setting databus's basepath '{0}' ..", databusbasepath));             configure.with().filesharedatabus(databusbasepath);              configure.with().msmqsubscriptionstorage();         }     } } 

this code works when nservicebus initialisation continues exception pops up:

failed execute installers: system.invalidoperationexception: cannot configure properties type hasn't been configured yet: nservicebus.un icast.unicastbus @ nservicebus.objectbuilder.autofac.autofacobjectbuilder.configureproperty(type component, string property, object value) in c:\buildagent\work\1b 05a2fea6e4cd32\src\nservicebus.core\objectbuilder\autofac\autofacobjectbuilder.cs:line 0 @ nservicebus.objectbuilder.common.commonobjectbuilder.configureproperty[t](string propertyname, object value) in c:\buildagent\work\1b05a2fea6e4c d32\src\nservicebus.core\objectbuilder\common\commonobjectbuilder.cs:line 110 @ nservicebus.unicast.config.finalizeunicastbusconfiguration.registermessageownersandbusaddress(ienumerable'1 knownmessages) in c:\buildagent\work \1b05a2fea6e4cd32\src\nservicebus.core\unicast\config\finalizeunicastbusconfiguration.cs:line 57 @ nservicebus.unicast.config.finalizeunicastbusconfiguration.finalizeconfiguration() in c:\buildagent\work\1b05a2fea6e4cd32\src\nservicebus.core\u nicast\config\finalizeunicastbusconfiguration.cs:line 24 @ nservicebus.configure.<>c__displayclass23`1.b__20(type t) in c:\buildagent\work\1b05a2fea6e4cd32\src\nservicebus.core\configu re.cs:line 555 @ system.collections.generic.list'1.foreach(action'1 action) @ nservicebus.configure.activateandinvoke[t](action'1 action, nullable'1 thresholdforwarning) in c:\buildagent\work\1b05a2fea6e4cd32\src\nserviceb us.core\configure.cs:line 561 @ nservicebus.configure.initialize() in c:\buildagent\work\1b05a2fea6e4cd32\src\nservicebus.core\configure.cs:line 361 @ nservicebus.hosting.windows.installers.windowsinstaller.runinstall() in c:\buildagent\work\1b05a2fea6e4cd32\src\nservicebus.hosting.windows\inst allers\windowsinstaller.cs:line 38

no matter do, reason nservicebus's initialisation can't continue. looks own autofac container isn't configured in nservicebus using configure.with().usingcontainer() method i've tried kind of options every time boils down same exception being thrown. ideas i'm doing wrong here?

try changing code this:

configure configure = configure.with(); // rest of container initialization configure.autofacbuilder(container); // other stuff configure.filesharedatabus(databusbasepath); configure.msmqsubscriptionstorage(); 

and see if works.


Comments

Popular posts from this blog

How has firefox/gecko HTML+CSS rendering changed in version 38? -

javascript - Complex json ng-repeat -

jquery - Cloning of rows and columns from the old table into the new with colSpan and rowSpan -