三种调用WCF服务的代码
wsHttpBinding,Massage UserName认证
static void Main(string[] args)
{
//使用服务引用方式生成的Client调用服务,使用自动生成的配置文件 WSHttpBinding_IService
using (ServiceClient client = new ServiceClient())
{
client.ClientCredentials.UserName.UserName = "name";
client.ClientCredentials.UserName.Password = "";
string result = client.Hello("SomeOne");
Console.WriteLine(result);
} //使用配置方件 WSHttpBinding_IService_1 创建通道调用服务
using (ChannelFactory<TAePService_Contracts.IService> ChannelFactory = new ChannelFactory<TAePService_Contracts.IService>("WSHttpBinding_IService_1"))
{
var loginCredentials = ChannelFactory.Endpoint.Behaviors.Find<ClientCredentials>();
loginCredentials.UserName.UserName = "name";
loginCredentials.UserName.Password = "";
var proxy = ChannelFactory.CreateChannel();
using (proxy as IDisposable)
{
var result = proxy.Hello("SomeOne");
Console.WriteLine(result);
}
} //纯代码方式创建通道调用服务
WSHttpBinding binding = new WSHttpBinding(SecurityMode.Message);
binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName;
binding.ReceiveTimeout = new TimeSpan(, , );
EndpointAddress address = new EndpointAddress(new Uri("http://192.168.126.129:12122/"), EndpointIdentity.CreateDnsIdentity("ServiceCA"));
using (ChannelFactory<Service_Contracts.IService> channelFactory = new ChannelFactory<Service_Contracts.IService>(binding, address))
{
ClientCredentials loginCredentials = channelFactory.Endpoint.Behaviors.Find<ClientCredentials>();
loginCredentials.UserName.UserName = "name";
loginCredentials.UserName.Password = "";
loginCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.None; //不认证服务证书
Service_Contracts.IService proxy = channelFactory.CreateChannel();
proxy = channelFactory.CreateChannel();
using (proxy as IDisposable)
{
var result = proxy.Hello("SomeOne");
Console.WriteLine(result);
}
}; Console.ReadKey();
}
三种调用WCF服务的代码的更多相关文章
- 调用WCF服务的几种方式
首先发布了一个名为PersonService的WCF服务.服务契约如下: [ServiceContract] public interface IPersonService { ...
- 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法
废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...
- SharePoint 2013 调用WCF服务简单示例
内容比较简单,主要记录自己使用SharePoint 2013WCF服务遇到的小问题和小经验,分享给大家,希望能够给需要的人有所帮助.好吧,进入正题! 第一部分 SharePoint 2013调用自带W ...
- WPF异步调用WCF服务
wpf调用wcf时,第一次访问总耗时到达几秒,影响界面的用户体验,因此在wpf加载界面和加载数据时采用异步加载,即异步访问wcf服务, 由于是否采用异步加载和服务端无关,仅仅由客户端自己根据需要来选择 ...
- 学习之路十四:客户端调用WCF服务的几种方法小议
最近项目中接触了一点WCF的知识,也就是怎么调用WCF服务,上网查了一些资料,很快就搞出来,可是不符合头的要求,主要有以下几个方面: ①WCF的地址会变动,地址虽变,但是里面的逻辑不变! ②不要引用W ...
- WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]
原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码 ...
- C# 调用WCF服务的两种方法
项目简介 之前领导布置一个做单点登录的功能给我,实际上就是医院想做一个统一的平台来实现在这个统一的平台登录后不需要在His.Emr.Lis等系统一个个登录,直接可以登录到对应的系统,然后进行相应的操作 ...
- WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理
原文:WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理 在前面一片文章(服务代理不能得到及时关闭会有什么后果?)中,我们谈到及时关闭服务代理(Service Proxy)在一个高并发环境 ...
- 实现在GET请求下调用WCF服务时传递对象(复合类型)参数
WCF实现RESETFUL架构很容易,说白了,就是使WCF能够响应HTTP请求并返回所需的资源,如果有人不知道如何实现WCF支持HTTP请求的,可参见我之前的文章<实现jquery.ajax及原 ...
随机推荐
- oracle之 关闭透明大页
方法一: 1.设置/etc/grub.conf文件,添加 transparent_hugepage=never ,在系统启动是禁用 [root@hbdw1 ~]# cat /etc/grub.conf ...
- POJ3662电缆
题目:http://poj.org/problem?id=3662 二分答案.然后边权>mid的边的边权2记为1,否则记为0.找一个边权2的最短路,看dis[n]是否<=K. 别忘了不能到 ...
- vmware esxi 4.1单IP访问不同机器
1 vmware ESXI先创建虚拟机ROS作为路由 ROS设置两张网卡 WAN网卡对应外网IP LAN网卡对应LAN IP 设置网卡名 int set 0 name=wai ...
- vagrant 相关记录
最近安装vagrant 出错的最大的可能性是BOX 路径不太对, 好像和目录的大小写有关系,请检查 $ vagrant init # 初始化$ vagrant up # 启动虚拟机$ vagrant ...
- [Android] 开发第十天
这几天因为电脑的 USB口发生故障,一直没怎么玩 Android-Studio 后来把电脑从 Win7 -> Win10 重装后,一部分 USB口 可以使用了,然后接着开发 Android 接 ...
- 01:初识Redis
付磊和张益军两位大咖写的葵花宝典(Redis开发和运维)学习笔记. 一.初识Redis 1.redis简介 Redis是一种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的 ...
- Building a Simple User Interface(创建一个简单的用户界面)
对于一个android 应用程序,用户的图形界面通常是由View(视图)和ViewGroup(视图组)对象构成的层次结构. View(视图)对象通常是按钮或文本输入框这类UI小部件,ViewGroup ...
- 关于Ceph现状与未来的一些思考
http://blog.csdn.net/mightysheldor/article/details/51093476 Ceph从2004年提交了第一行代码,至今为止已经10年了.这个起源于Sage博 ...
- python xlwt操作excel
- OpenMP 旅行商问题,静态调度
▶ <并行程序设计导论>第六章中讨论了旅行商,分别使用了 MPI,Pthreads,OpenMP 来进行实现,这里是 OpenMP 的代码,分为静态调度(每个线程分分配等量的搜索人物)和动 ...