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服务的代码的更多相关文章

  1. 调用WCF服务的几种方式

    首先发布了一个名为PersonService的WCF服务.服务契约如下: [ServiceContract]     public interface IPersonService     {     ...

  2. 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法

    废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...

  3. SharePoint 2013 调用WCF服务简单示例

    内容比较简单,主要记录自己使用SharePoint 2013WCF服务遇到的小问题和小经验,分享给大家,希望能够给需要的人有所帮助.好吧,进入正题! 第一部分 SharePoint 2013调用自带W ...

  4. WPF异步调用WCF服务

    wpf调用wcf时,第一次访问总耗时到达几秒,影响界面的用户体验,因此在wpf加载界面和加载数据时采用异步加载,即异步访问wcf服务, 由于是否采用异步加载和服务端无关,仅仅由客户端自己根据需要来选择 ...

  5. 学习之路十四:客户端调用WCF服务的几种方法小议

    最近项目中接触了一点WCF的知识,也就是怎么调用WCF服务,上网查了一些资料,很快就搞出来,可是不符合头的要求,主要有以下几个方面: ①WCF的地址会变动,地址虽变,但是里面的逻辑不变! ②不要引用W ...

  6. WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载]

    原文:WCF技术剖析之二十九:换种不同的方式调用WCF服务[提供源代码下载] 我们有两种典型的WCF调用方式:通过SvcUtil.exe(或者添加Web引用)导入发布的服务元数据生成服务代理相关的代码 ...

  7. C# 调用WCF服务的两种方法

    项目简介 之前领导布置一个做单点登录的功能给我,实际上就是医院想做一个统一的平台来实现在这个统一的平台登录后不需要在His.Emr.Lis等系统一个个登录,直接可以登录到对应的系统,然后进行相应的操作 ...

  8. WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理

    原文:WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理 在前面一片文章(服务代理不能得到及时关闭会有什么后果?)中,我们谈到及时关闭服务代理(Service Proxy)在一个高并发环境 ...

  9. 实现在GET请求下调用WCF服务时传递对象(复合类型)参数

    WCF实现RESETFUL架构很容易,说白了,就是使WCF能够响应HTTP请求并返回所需的资源,如果有人不知道如何实现WCF支持HTTP请求的,可参见我之前的文章<实现jquery.ajax及原 ...

随机推荐

  1. 将DHT11移植到Linux系统上(转)

    由于项目需要,需要将DHT11移植到Linux.驱动程序如下 #include <linux/kernel.h> #include <linux/module.h> #incl ...

  2. ruby里面的属性访问器

    和ios的@property一样 attr_accessor 表明是示例的getter和setter 下面的是rails的扩展,裸体class里面用,貌似会报错 cattr_accessor 表明是类 ...

  3. 嵌入式linux开发:杂七杂八的话

    1. 编译器:常用的有Sourcery,linaro等.当然芯片厂家一般也会提供可用的编译器. 2. 将配置和编译时的输出O到其他位置:make O=some_dir 这样做的好处是保持源代码树的干净 ...

  4. SQL 知识及用法备忘录

    ---查询当前数据库一共有多少张表 ) from sysobjects where xtype='U' ---查询当前数据库有多少张视图 ) from sysobjects where xtype=' ...

  5. mysql-9索引

    mysql索引的建立对于mysql的高效运行是很重要的,索引可以大大提高mysql的检索速度. 索引分为单列索引和组合索引. 单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索 ...

  6. 读到的"关于授权"

    关于授权 记得公司刚有十几个人的时候,全公司我最忙,经常同时接两三个销售电话,还得安排送货,结账,进货,每天来得最早,走得最晚.一次我弟弟到公司,看了半天,发表感慨说:"哥我怎么觉得你在养活 ...

  7. Ubuntu 安装VNC

    ubuntu:.安装x11vnc sudo apt-get install x11vnc .设置密码 x11vnc -storepasswd .启动x11vnc(每次windows远程控制,都需要启动 ...

  8. 通过 NPOI 生成 Excel

    HSSFWorkbook hssfworkbook; ISheet sheet1; public void BuildExcel() { hssfworkbook = new HSSFWorkbook ...

  9. spring jpa sqls

    package com.example.repository; import java.util.List; import org.springframework.data.jpa.repositor ...

  10. 可视化库-Matplotlib-直方图(第四天)

    1.plt.hist(array, bins, color)  # array表示数值, bins表示的是bin的范围 data = np.random.normal(0, 20, 1000) # 画 ...