惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
Martin Fowler
Martin Fowler
Vercel News
Vercel News
U
Unit 42
Engineering at Meta
Engineering at Meta
aimingoo的专栏
aimingoo的专栏
MyScale Blog
MyScale Blog
Y
Y Combinator Blog
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog RSS Feed
N
Netflix TechBlog - Medium
GbyAI
GbyAI
F
Fortinet All Blogs
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
M
MIT News - Artificial intelligence
D
Docker
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog

博客园 - 牛奶哥

C#点滴 - 深拷贝与浅拷贝 C#点滴 - 抽象类与接口区别 C#点滴 - ?与?? C#点滴 - 值类型与引用类型 C#点滴 - 类型转换 C#点滴 - 关于String C#点滴 – 内建基本类型 C#点滴 – CLR, CTS…等等基本概念 SharePoint 2010 学习资料 初学SilverLight - (3)简单布局 初学SilverLight - (2)第一个SilverLight程序 初学SilverLight - (1)开发环境准备 WCF热带鱼书学习手记 - Security (1) 概述 关于在SharePoint中管理大文件的一些想法 WCF热带鱼书学习手记 - Service Contract Overload WCF热带鱼书学习手记 - client coding WCF热带鱼书学习手记 - metadata WCF热带鱼书学习手记 - ABC WCF热带鱼书学习手记 - Host Type - 牛奶哥
WCF热带鱼书学习手记 - endpoint - 牛奶哥
牛奶哥 · 2009-12-23 · via 博客园 - 牛奶哥

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