WCF在tcp通道下启用httpget

关于tcp通道下,启用httpget,必须启用一个http的基地址,如果要启用无数据交换,host中必须开启服务描述。

            //01 create host
            Uri tcpBaseAddress = new Uri("net.tcp://127.0.0.1:12345/kp");
            Uri httpBaseAddress = new Uri("http://127.0.0.1:12346/kp");
            ServiceHost host = new ServiceHost(typeof(Po), tcpBaseAddress, httpBaseAddress);

            //02 add service metadata behavior
            ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
            smb.HttpGetEnabled = true;
            host.Description.Behaviors.Add(smb);

            //03 add endpoint
            host.AddServiceEndpoint(typeof(IPo), new NetTcpBinding(), "PoSvc");
            host.AddServiceEndpoint(ServiceMetadataBehavior.MexContractName, MetadataExchangeBindings.CreateMexTcpBinding(), "mex"); 

            host.Open();

            Console.ReadLine();
时间: 2024-10-10 15:04:36

WCF在tcp通道下启用httpget的相关文章

用C#基于WCF创建TCP的Service供Client端调用

本文将详细讲解用C#基于WCF创建TCP的Service供Client端调用的详细过程 1):首先创建一个Windows Service的工程 2):生成的代码工程结构如下所示 3):我们将Service1改名为MainService 4): 添加一个Interface来定义Service的契约 4.1):截图如下所示 4.2):IOrderService.cs的代码如下所示 using System; using System.Collections.Generic; using System

windows server2008 r2 下启用 sqlserver 2008的远程连接

首先说明,本文转自互联网. TMD 花了二天,终于找到怎么开启这个远程连接了.....娘的,累死了,写下来,希望能帮助同胞们... 用win server 2008 r2 和sql server 2008 搭平台,sql 2008不能远程连接,解决的办法如下: 1. 启用 sql 2008 服务器的tcpip.打开服务器配置工具sscm,单击“sql server网络配置”下的协议,这里会列出服务器的实例名称,在右边双击tcpip,启用项选择是. 2. 在“ip地址”中选择下面的“ipall”配

Linux下启用Chrome/Firefox的Java插件

JDK 已经安装好,但是浏览器运行 Java Applet 时提示需安装 Java 插件. 这时,在浏览器安装目录中 plugins 文件夹下创建2个重要的符号链接即可. libnpjp2.so   (this file exist in /usr/lib/jvm/jdk1.6.0_35/jre/lib/i386/libnpjp2.so) libjavaplugin_oji.so (this file exist in /usr/lib/jvm/jdk1.6.0_35/jre/plugin/i3

TCP协议下的服务端并发,GIL全局解释器锁,死锁,信号量,event事件,线程q

TCP协议下的服务端并发,GIL全局解释器锁,死锁,信号量,event事件,线程q 一.TCP协议下的服务端并发 ''' 将不同的功能尽量拆分成不同的函数,拆分出来的功能可以被多个地方使用 TCP服务端实现并发 1.将连接循环和通信循环拆分成不同的函数 2.将通信循环做成多线程 ''' # 服务端 import socket from threading import Thread ''' 服务端 要有固定的IP和PORT 24小时不间断提供服务 能够支持并发 ''' server = sock

TCP协议下的粘包问题

TCP协议下的粘包问题 粘包问题出现在TCP协议下,在UDP协议下不会出现粘包的问题. 粘包问题出现的原因: 应用层被成为应用元,操作系统被被称为系统元 合包机制:在TCP协议下有一个合包机制,当应用层传输过来数据后,如果数据较小,并且连续多次传输,此时nagle算法会对把多个数据进行 打包,统一发送给接收方, 好处是:减少了网络资源的消耗,接收方只需要给发送方回传一份回执即可,如果不进行合包操作,每发送一条数据,接收方就需要回一份回执,会大量消耗网络资源. 弊端是:由于TCP协议下字节流没有明

在net.tcp模式下,由SvcUtil.exe生成代理类文件和配置文件(转)

WCF服务调用可以采用两个方法,由工具SvcUtil.exe生成本地代理服务类和配置文件方式,或者采用ChannelFactory直接创建服务代理对象.本文主要采用前面一种方式来进行. SvcUtil.exe位于:C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin目录下,可以将本工具添加到VS2010的工具菜单中,以方便使用: VS菜单->工具->外部工具->添加->在“命令”文本框选取其路径如下:C:\Program Files\M

WCF流模式传输下采用NetTcpBinding

最近刚接触WCF,在项目中采用NetTcpBinding绑定运用流模式传输文件过程中,出现“套接字连接已中止.这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致”这个错误,上网查找了很久也没能很好的解决,一般的解决方案都是更换一种绑定协议,比如WSHttpBinding或者basicHttpBinding.可是由于实际情况又不能随意更换绑定协议,而且更换协议后出现其他的问题,所以一直不甘心.后来在博客园的一个博问中看到一个启发(具体是哪个提问现在已经找不到了,但是是受了d

TCP协议下Socket接收比较慢点原因

在做一个游戏,发现阻塞和异步方式接受服务端的包都很反应很慢(不是网速问题),本机访问本机没这个问题,局域网有感觉200ms左右的延迟,部分机型感觉明显,部分不明显.找了很多资料,查到下面的文章,总算明白了. https://support.microsoft.com/zh-cn/kb/214397 设计问题-通过使用 Winsock TCP 发送较小的数据段  电子邮件  打印 重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(

Mac Pro更换SSD后,在Win7下启用ACHI的方法AHCI

在Mac Pro下更换SSD后,如果安装Win7,要将SSD改为AHCI模式是非常麻烦的.本文介绍如何将Mac的Win7下的SSD改为AHCI方式驱动,及几种常见问题的处理. 一.当Lion与Win7双系统并存时,如何将Win7的SSD驱动模式改为AHCI 1.1.进入Win7系统,修改注册表 通知系统下一次开机,加载AHCI驱动: 开始菜单,运行,regedit,进入以下目录:              HKEY_LOCAL_MACHINE\System\CurrentControlSet\S