public override void Publish() { // Create the QueryHandler IQueryHandler queryHandler = new NHibernateQueryHandler(sessionFactory); #region Start the WCF server ServerQueryWcfHandler wcfServer = new ServerQueryWcfHandler(queryHandler); NetTcpBinding netTcpBinding = ServiceHelper.GetNetTcpBinding(); string serviceUri = ServiceHelper.GetServiceUri(null, null, Artefacts.ServiceConstants.NhibernateServiceName); wcfServer.Start(netTcpBinding, serviceUri); #endregion #region Start the remoting server ServerQueryRemotingHandlerNHibernate remotingServer = new ServerQueryRemotingHandlerNHibernate(queryHandler); // Register default channel for remote accecss Hashtable properties = new Hashtable(); properties["name"] = Artefacts.ServiceConstants.NhibernateServiceName; properties["port"] = Artefacts.ServiceConstants.NhibernatePort; IChannel currentChannel = RemotingConstants.GetDefaultChannel(properties); ChannelServices.RegisterChannel(currentChannel, false); remotingServer.Start(Artefacts.ServiceConstants.NhibernateServiceName, false); #endregion }