public static void RegisterAndStart(string serviceName, IToyOrbService serviceImpl, string nsHost = DefaultHostname, int nsPort = DefaultPort) { ServerSideProxy serviceProxy = BindAvailablePort(serviceName, serviceImpl); var request = new ServiceRegistrationMessage(serviceName, serviceImpl.ServiceType, serviceProxy.Port); var requestor = new Requestor <ServiceRegistrationMessage, NameResponseMessage>(nsHost, nsPort); NameResponseMessage response = requestor.MakeRequest(request); response.Check(); serviceProxy.Start(); }
private static ServiceRegistrationMessage CreateRegistrationMessage <T>(string bindingName, string serviceName, IRuntime runtime) { var variables = GetPropertyNames <T>(bindingName); var serviceMessage = new ServiceRegistrationMessage { ServiceName = serviceName, DefaultBinding = bindingName, DefaultEnvirionmentUrlPath = HostingEnvironment.ApplicationVirtualPath, Environment = runtime.Environment, ConfigSetId = Utilities.Utilities.GetConfigSetName(), Properties = variables }; return(serviceMessage); }