Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure service fabric 为服务总线中继绑定设置Azure服务结构侦听器_Azure Service Fabric_Azureservicebus_Azure Servicebusrelay - Fatal编程技术网

Azure service fabric 为服务总线中继绑定设置Azure服务结构侦听器

Azure service fabric 为服务总线中继绑定设置Azure服务结构侦听器,azure-service-fabric,azureservicebus,azure-servicebusrelay,Azure Service Fabric,Azureservicebus,Azure Servicebusrelay,我想在Azure中托管的服务结构群集和专用网络之间设置Azure服务总线中继 我无法从服务结构WCF服务获取服务总线中继的配置 protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() { return new[] { // Standard WCF Listener new ServiceInstanceListen

我想在Azure中托管的服务结构群集和专用网络之间设置Azure服务总线中继

我无法从服务结构WCF服务获取服务总线中继的配置

protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
{
    return new[]
    {
        // Standard WCF Listener
        new ServiceInstanceListener(context =>
            new WcfCommunicationListener<IFooService>(
                wcfServiceObject: this,
                serviceContext: context,
                endpointResourceName: "WcfServiceEndpoint",
                listenerBinding: WcfUtility.CreateTcpListenerBinding()
            )
        ),
        // Service Bus Relay Listener
        new ServiceInstanceListener(context =>
        {
            var wcfRelay = new WcfCommunicationListener<IFooService>(
                wcfServiceObject: this,
                serviceContext: context);
            wcfRelay.ServiceHost.AddServiceEndpoint(
                    typeof(IFooService),
                    new NetTcpRelayBinding(),
                    ServiceBusEnvironment.CreateServiceUri(
                        "sb",
                        "{mynamespace}.servicebus.windows.net",
                        "{myservce}"))
                .Behaviors.Add(new TransportClientEndpointBehavior
                {
                    TokenProvider =
                        TokenProvider.CreateSharedAccessSignatureTokenProvider(
                            "RootManageSharedAccessKey",
                            "{mykey}")
                });

            return wcfRelay;
        })
    };
}
受保护的重写IEnumerable CreateServiceInstanceListeners()
{
返回新的[]
{
//标准WCF侦听器
新服务InstanceListener(上下文=>
新的WcfCommunicationListener(
wcfServiceObject:这个,
serviceContext:context,
endpointResourceName:“WcfServiceEndpoint”,
listenerBinding:wcfurtility.CreateTcpListenerBinding()
)
),
//服务总线中继侦听器
新服务InstanceListener(上下文=>
{
var wcfRelay=新的WcfCommunicationListener(
wcfServiceObject:这个,
serviceContext:context);
wcfRelay.ServiceHost.AddServiceEndpoint(
类型(IFooService),
新的NetCPRelayBinding(),
ServiceBusEnvironment.CreateServiceUri(
“某人”,
“{mynamespace}.servicebus.windows.net”,
“{myservce}”))
.Behaviors.Add(新建TransportClientEndpointBehavior
{
令牌提供者=
TokenProvider.CreateSharedAccessSignatureTokenProvider(
“RootManageSharedAccessKey”,
“{mykey}”)
});
返回wcfRelay;
})
};
}
受保护的覆盖IEnumerable CreateServiceInstanceListeners()
{
返回新的[]
{
新服务InstanceListener(上下文=>
{
var listener=新的WcfCommunicationListener(
serviceContext:context,
wcfServiceObject:new FooService(),
listenerBinding:new WebHttpRelayBinding(EndToEndWebHttpSecurityMode.None,RelayClientAuthenticationType.None),
地址:新端点地址(ServiceBusEnvironment.CreateServiceUri(“https”,“ServiceBusNamespace]”,“[RelayEndPoint]”)
);
var ep=listener.ServiceHost.Description.Endpoints.Last();
ep.EndpointBehaviors.Add(
新TransportClientEndpointBehavior()
{
TokenProvider=TokenProvider.CreateSharedSecretTokenProvider(“所有者”、“[issuerSecret]”)
});
ep.EndpointBehaviors.Add(
新的ServiceRegistrySettings(discoveryType:discoveryType.Public));
添加(新的WebHttpBehavior());
返回侦听器;
})
};
}

您能否提供有关哪些不起作用的更多信息?您是否收到某些特定错误?在相同的环境中,相同的配置是否适用于自托管的WCF服务?自托管的WFC工作正常,至于不工作的部分。只是不。。。没有例外,没有日志它只是默默地阻止服务启动您能详细说明您的解决方案吗?添加一些解释文本?
protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
{
    return new[]
    {
        new ServiceInstanceListener(context =>
        {
            var listener = new WcfCommunicationListener<IFooService>(
                serviceContext: context,
                wcfServiceObject: new FooService(),
                listenerBinding:  new WebHttpRelayBinding(EndToEndWebHttpSecurityMode.None,RelayClientAuthenticationType.None),
                address: new EndpointAddress( ServiceBusEnvironment.CreateServiceUri("https","[ServiceBusNamespace]","[RelayEndPoint]"))
                );

            var ep = listener.ServiceHost.Description.Endpoints.Last();

            ep.EndpointBehaviors.Add(
                new TransportClientEndpointBehavior()
                {
                    TokenProvider = TokenProvider.CreateSharedSecretTokenProvider("owner","[issuerSecret]")
                });
            ep.EndpointBehaviors.Add(
                new ServiceRegistrySettings(discoveryType:DiscoveryType.Public));
            ep.EndpointBehaviors.Add(new WebHttpBehavior());

           return listener;
        })
    };
}