wcf引用 多个客户端都引用了同一个wcf服务 ,客户端 怎么 共用一个配置文件,然后调用服务了,
1个回答
展开全部
您好,ServiceHost.Behaviors是一个IServiceBehavior类型的对象集合。
IserviceBehavior 提供了一个在整个服务范围内修改或则插入定制扩展的机制。
如果需要把服务通过WSDL对外暴露对服务的Metadata描述,就需要加一个ServiceMetadataBehavior类型的Behavior:
ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
behavior.HttpGetEnabled = true;
behavior.HttpGetUrl = new Uri("http://localhost:8001/");
myServiceHost.Description.Behaviors.Add(behavior); //myServiceHost是ServiceHost实例
要发布Metadata,需要对外提供一个Http的地址,由HttpGetUrl 属性指定。
如果HttpGetUrl指定了绝对地址,那么对外发布Metadata的地址就为:HttpGetUrl 后加?wsdl。
如果HttpGetUrl指定了相对地址,那么对外发布Metadata的地址就为:ServiceHost的baseAddress + HttpGetUrl 后加?wsdl。
如果没有设置HttpGetUrl,那么Metadata的地址就是ServiceHost的baseAddress后加?wsdl
不管HttpGetUrl属性怎么设置,ServiceHost的baseAddress总是作为这个ServiceHost提供服务的描述页面的URL。
IserviceBehavior 提供了一个在整个服务范围内修改或则插入定制扩展的机制。
如果需要把服务通过WSDL对外暴露对服务的Metadata描述,就需要加一个ServiceMetadataBehavior类型的Behavior:
ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
behavior.HttpGetEnabled = true;
behavior.HttpGetUrl = new Uri("http://localhost:8001/");
myServiceHost.Description.Behaviors.Add(behavior); //myServiceHost是ServiceHost实例
要发布Metadata,需要对外提供一个Http的地址,由HttpGetUrl 属性指定。
如果HttpGetUrl指定了绝对地址,那么对外发布Metadata的地址就为:HttpGetUrl 后加?wsdl。
如果HttpGetUrl指定了相对地址,那么对外发布Metadata的地址就为:ServiceHost的baseAddress + HttpGetUrl 后加?wsdl。
如果没有设置HttpGetUrl,那么Metadata的地址就是ServiceHost的baseAddress后加?wsdl
不管HttpGetUrl属性怎么设置,ServiceHost的baseAddress总是作为这个ServiceHost提供服务的描述页面的URL。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询