public override void Publish() { // Create the QueryHandler IQueryHandler queryHandler = new EntityFrameworkQueryHandler(dataContext); #region Start the WCF server ServerQueryWcfHandler wcfServer = new ServerQueryWcfHandler(queryHandler); NetTcpBinding netTcpBinding = ServiceHelper.GetNetTcpBinding(); string serviceUri = ServiceHelper.GetServiceUri(null, null, Artefacts.ServiceConstants.EntityFramework4ServiceName); wcfServer.Start(netTcpBinding, serviceUri); #endregion #region Start the remoting server ServerQueryRemotingHandlerEntityFramework4 remotingServer = new ServerQueryRemotingHandlerEntityFramework4(queryHandler); // Register default channel for remote access Hashtable properties = new Hashtable(); properties["name"] = Artefacts.ServiceConstants.EntityFramework4ServiceName; properties["port"] = Artefacts.ServiceConstants.EntityFramework4Port; IChannel currentChannel = RemotingConstants.GetDefaultChannel(properties); ChannelServices.RegisterChannel(currentChannel, false); remotingServer.Start(Artefacts.ServiceConstants.EntityFramework4ServiceName, false); #endregion }
/// <summary> /// The main method. /// </summary> static void Main() { Console.WriteLine("InterLinq.Examples.Simple.Server is going to start..."); // Create an ExampleObjectSource Console.WriteLine("Creating an ExampleObjectSource..."); ExampleObjectSource exampleObjectSource = new ExampleObjectSource(); // Create 20 SimpleObjects and store them in the objectDataSource Console.WriteLine("Creating some SimpleObjects into ExampleObjectSource..."); for (int i = 0; i < 20; i++) { SimpleObject simpleObject = new SimpleObject(); simpleObject.Name = string.Format("Object #{0}", i); simpleObject.Value = i; exampleObjectSource.SimpleObjects.Add(simpleObject); } // Create a IQueryHandler for requests sent to this server Console.WriteLine("Creating an ObjectQueryHandler..."); IQueryHandler queryHandler = new ObjectQueryHandler(exampleObjectSource); // Publish the IQueryHandler by InterLINQ over WCF Console.WriteLine("Publishing service..."); using (ServerQueryWcfHandler serverQueryHandler = new ServerQueryWcfHandler(queryHandler)) { serverQueryHandler.Start(true); Console.WriteLine("Server is started and running."); Console.WriteLine(); // Wait for user input Console.WriteLine("Press [Enter] to quit."); Console.ReadLine(); // Close the service Console.WriteLine("Closing service..."); } Console.WriteLine("Bye"); }
public override void Publish() { // Create the QueryHandler IQueryHandler queryHandler = new ZyanObjectQueryHandler(ObjectSource); #region Start the WCF server #if !MONO var wcfServer = new ServerQueryWcfHandler(queryHandler); var binding = ServiceHelper.GetDefaultBinding(); string serviceUri = ServiceHelper.GetServiceUri(null, null, Artefacts.ServiceConstants.ObjectsServiceName); wcfServer.Start(binding, serviceUri); #endif #endregion #region Start the Zyan server // change service name to avoid conflict with Remoting service var serviceName = Artefacts.ServiceConstants.ZyanServicePrefix + Artefacts.ServiceConstants.ObjectsServiceName; var protocol = ZyanConstants.GetDefaultServerProtocol(ZyanConstants.DefaultServicePort); var host = new ZyanComponentHost(serviceName, protocol); host.RegisterQueryHandler(queryHandler); #endregion #region Start the remoting server var remotingServer = new ServerQueryRemotingHandlerObjects(queryHandler); // Register default channel for remote access Hashtable properties = new Hashtable(); properties["name"] = Artefacts.ServiceConstants.ObjectsServiceName; properties["port"] = Artefacts.ServiceConstants.ObjectsPort; IChannel currentChannel = RemotingConstants.GetDefaultChannel(properties); ChannelServices.RegisterChannel(currentChannel, false); remotingServer.Start(Artefacts.ServiceConstants.ObjectsServiceName, false); #endregion }