WCF热带鱼书学习手记 - endpoint

 

endpoint的作用就是发布服务,它必须包含WCF中A, B和C三个方面的定义,缺一不可。从配置文件上来看
<system.serviceModel>
    <services>
      <service name="MyNamespace.MyService">
        <endpoint contract = "MyNamespace.IMyService"
                        binding  = "wsHttpBinding"
                        address  = "http://localhost:8000/MyService" 
        />
      </service>
    </services>
</system.serviceModel>
相同的服务可以在多个endpoint上发布,但是要确保address不同,例如:
<system.serviceModel>
    <services>
      <service name="MyNamespace.MyService">
        <endpoint contract = "MyNamespace.IMyService"
                        binding  = "wsHttpBinding"
                        address  = "http://localhost:8001/MyService" 
        />
        <endpoint contract = "MyNamespace.IMyService"
                        binding  = "wsHttpBinding"
                        address  = "http://localhost:8002/MyService" 
        />
      </service>
    </services>
</system.serviceModel>
 
在self-host的情况下,可以用过代码配置endpoint
ServiceHost host = new ServiceHost(typeof(MyService));
Binding wsHttpBinding = new WSHttpBinding();
host.AddServiceEndpoint(typeof(IMyService),
                                      wsHttpBinding,
                                      new Uri("http://localhost:8086/MyService/"));
host.Open();
...            
host.Close();
 

 

 

posted on 2009-12-23 10:00  牛奶哥  阅读(182)  评论(0编辑  收藏  举报