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

推荐订阅源

J
Java Code Geeks
腾讯CDC
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
L
LangChain Blog
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog
P
Proofpoint News Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园_首页
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
IT之家
IT之家
A
About on SuperTechFans
H
Help Net Security

博客园 - 牛奶哥

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