private static void Main() { var sbNamespace = ConfigurationManager.AppSettings["SBNamespace"]; var sbAddress = ServiceBusEnvironment.CreateServiceUri("https", sbNamespace, ConfigurationManager.AppSettings["SBRelayName"]); var config = new ServiceBusRelayUtilConfig { SBAddress = sbAddress, SBPolicyName = ConfigurationManager.AppSettings["SBPolicyName"], SBPolicyKey = ConfigurationManager.AppSettings["SBPolicyKey"], MaxReceivedMessageSize = long.Parse(ConfigurationManager.AppSettings["MaxReceivedMessageSize"]), TargetAddress = new Uri(ConfigurationManager.AppSettings["TargetServiceAddress"]) }; var host = CreateWebServiceHost(config, sbAddress); host.Open(); Console.WriteLine("Azure Service Bus is listening at \n\r\t{0}\n\rrouting requests to \n\r\t{1}\n\r\n\r", sbAddress, config.TargetAddress); Console.WriteLine(); Console.WriteLine("Press [Enter] to exit"); Console.ReadLine(); host.Close(); }
private static WebServiceHost CreateWebServiceHost(ServiceBusRelayUtilConfig config, Uri address) { var host = new WebServiceHost(new DispatcherService(config)); var binding = GetBinding(config.MaxReceivedMessageSize); var endpoint = host.AddServiceEndpoint(typeof(DispatcherService), binding, address); var behavior = GetTransportBehavior(config.RelayPolicyName, config.RelayPolicyKey); endpoint.Behaviors.Add(behavior); return(host); }
public DispatcherService(ServiceBusRelayUtilConfig config) { _config = config; }