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();

 

 

 

你可能感兴趣的:(WCF)