扩展ServiceHost<T>类
public class ServiceHost<T> : ServiceHost
{ public void EnableMetadataExchange(bool enableHttpGet = true)
{
if (State == CommunicationState.Opened)
{
throw new InvalidOperationException("Host is already opened");
} var metadataBehavior = Description.Behaviors.Find<ServiceMetadataBehavior>();
if (metadataBehavior == null)
{
metadataBehavior = new ServiceMetadataBehavior();
Description.Behaviors.Add(metadataBehavior); if (BaseAddresses.Any(uri => uri.Scheme == "http"))
{
metadataBehavior.HttpGetEnabled = enableHttpGet;
}
} AddAllMexEndpoints();
} public bool HasMexEndpoint
{
get
{
return
Description.Endpoints.Any(endpoint => endpoint.Contract.ContractType == typeof (IMetadataExchange));
}
} public void AddAllMexEndpoints()
{
Debug.Assert(HasMexEndpoint == false); foreach (var baseAddress in BaseAddresses)
{
Binding binding = null; switch (baseAddress.Scheme)
{
case "net.tcp":
binding = MetadataExchangeBindings.CreateMexTcpBinding();
break;
case "net.pipe":
binding = MetadataExchangeBindings.CreateMexNamedPipeBinding();
break;
case "http":
binding = MetadataExchangeBindings.CreateMexHttpBinding();
break;
case "https":
binding = MetadataExchangeBindings.CreateMexHttpsBinding();
break;
} if (binding != null)
{
AddServiceEndpoint(typeof(IMetadataExchange),binding,"MEX");
}
}
} }
扩展ServiceHost<T>类的更多相关文章
- 扩展C++ string类
在实际开发过程中,C++string类使用起来有很多不方便的地方,笔者根据根据这些不足简单的扩展了这个类,如增加与数字之间的相互转化和格式化字符串.不足的地方望指正.读者也可以根据自己需求继续扩展. ...
- 扩展 WPF 动画类
原文:扩展 WPF 动画类 扩展 WPF 动画类 Charles ...
- C#中如果类的扩展方法和类本身的方法签名相同,那么会优先调用类本身的方法
新建一个.NET Core项目,假如我们有如下代码: using System; namespace MethodOverload { static class DemoExtension { pub ...
- 类的扩展--类目和延展--ios
person+money.h 这是类目类 #import "Person.h" //这是扩展person类的接口类,独立一个文件 @interface Person (Money ...
- PHP扩展开发-简单类扩展
今天来学习简单类扩展开发 实现目标为如下php的类 <?php class classext(){ private $username; CONST URL="http://www.g ...
- Python继承扩展内置类
继承最有趣的应用是给内置类添加功能,在之前的Contact类中,我们将联系人添加到所有联系人的列表里,如果想通过名字来搜索,那么就可以在Contact类添加一个方法用于搜索,但是这种方法实际上属于列表 ...
- Es6对象的扩展和Class类的基础知识笔记
/*---------------------对象的扩展---------------------*/ //属性简写 ,属性名为变量名, 属性值为变量的值 export default functio ...
- Leaflet_扩展Leaflet:类(2017-10-26)
扩展教程:http://leafletjs.com/examples/extending/extending-1-classes.html 翻译 该教程介绍扩展Leaflet最常用的方式. 注意:本文 ...
- 003-Spring4 扩展分析-spring类初始化@PostConstruct > InitializingBean > init-method、ApplicationContext、BeanPostProcessor、BeanFactoryPostProcessor、BeanDefinitionRegistryPostProcessor
一.spring类初始化@PostConstruct > InitializingBean > init-method InitializingBean接口为bean提供了初始化方法的方式 ...
随机推荐
- poj3080解题报告(暴力、最大公共子串)
POJ 3080,题目链接http://poj.org/problem?id=3080 题意: 就是求m个长度为60的字符串的最长连续公共子串,2<=m<=10 规定: 1.最长公共串长度 ...
- html笔记03:表单
1.表单是用来收集用户填写的信息,可以说表单就是一个容器,里面的元素的类型可以不一样,所表示的功能也不同. 表单基本语法: <html> <head> <title> ...
- Asp.net封装js的类
using System; using System.Collections.Generic; using System.Text; using System.Web; using System.We ...
- 根据url获取网页内容
PrintWriter out = null; out = response.getWriter(); try{ URL getUrl = new URL("http://www.kuaid ...
- velocity基本用法
1.定义变量 #set($root="www");#set($name="index.vm");#set($tmp="$root/$name" ...
- [设计模式]<<设计模式之禅>>之关于单一职责原则
单一职责原则的英文名称是Single Responsibility Principle,简称是SRP. 这个原则存在争议之处在哪里呢?就是对职责的定义,什么是类的职责,以及怎么划分类的职责.我们先举个 ...
- HttpClient(4.3.5) - ResponseHandler
The simplest and the most convenient way to handle responses is by using the ResponseHandler interfa ...
- JavaScript之图片轮换
<!doctype html> <title>javascript图片轮换</title> <meta charset="utf-8"/& ...
- SSRS 传多值参数问题
SSRS报表参数是可单值或者多值.之前有个小伙伴问我,如果要传多值怎么传.然后我试了在各个参数之间,放换行符放逗号分号等都未能解决问题,最后想明白这个参数接受的应该是非字符类型,很大可能是数组,然后我 ...
- STL vector+sort排序和multiset/multimap排序比较
由 www.169it.com 搜集整理 在C++的STL库中,要实现排序可以通过将所有元素保存到vector中,然后通过sort算法来排序,也可以通过multimap实现在插入元素的时候进行排序.在 ...