Example #1
0
        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;
 }