我已经做了一些WCF,但已经有一段时间了,我从来没有必须从头开始配置服务。
显然,虽然您只能有一个行为配置,但可以将多个行为附加到WCF服务:
ServiceHost serviceHost = new ServiceHost(typeof(Services.FooService), ServiceEndpointUri);
WebHttpBinding binding = new WebHttpBinding();
ServiceEndpoint sep = serviceHost.AddServiceEndpoint(typeof(Contracts.IFooService), binding, string.Empty);
sep.Behaviors.Add(new WebHttpBehavior());
sep.Behaviors.Add(new MyCustomEndpointBehavior());
我想知道:
答案 0 :(得分:2)
您只需创建一个命名行为,然后将您的行为列为您指定行为的子项。
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="MyExampleBehavior">
<webHttp />
<MyCustomEndpointBehavior />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="Example.Endpoints.MyEndpoint">
<endpoint behaviorConfiguration="MyExampleBehavior" .../>
</service>
</services>
使用SvcConfigEditor.exe
(应该以“服务配置编辑器”名称包含在您的visual studio中),它可以帮助您编辑和配置.config文件并轻松创建上面的复杂绑定。