WCF wsHttpBinding之Transport security Mode, clientCredentialType=”Basic”

简介:

如何在WCF中使用Transport Security Mode,以及如何创建证书,请参见《WCF basicHttpBinding之Transport Security Mode, clientCredentialType="None"》,本文介绍如何使用Basic clientCredentialType。

 

server web.config

复制代码
<?xml version="1.0"?> 
<configuration> 
    <system.web> 
      <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 
    <system.serviceModel> 
      <bindings> 
        <wsHttpBinding> 
          <binding name="wsHttpBindingConfig"> 
            <security mode="Transport"> 
              <transport clientCredentialType="Basic" /> 
            </security> 
          </binding> 
        </wsHttpBinding> 
      </bindings> 
      <services> 
        <service name="WCFDemo.DemoService" behaviorConfiguration="CustomBehavior"> 
          <endpoint address="DemoService" binding="wsHttpBinding" contract="WCFDemo.IDemoService" bindingConfiguration="wsHttpBindingConfig" />          
          <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint> 
        </service> 
      </services> 
        <behaviors> 
            <serviceBehaviors> 
                <behavior name="CustomBehavior"> 
                    <serviceMetadata httpsGetEnabled="true" /> 
                    <serviceDebug includeExceptionDetailInFaults="false" />                    
                </behavior> 
            </serviceBehaviors> 
        </behaviors> 
        <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    </system.serviceModel> 
</configuration>
复制代码


 

031530329245683

image

031530372362965

 

client app.config:

复制代码
<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.serviceModel> 
        <bindings> 
            <wsHttpBinding> 
                <binding name="WSHttpBinding_IDemoService"> 
                    <security mode="Transport"> 
                        <transport clientCredentialType="Basic" /> 
                    </security> 
                </binding> 
            </wsHttpBinding> 
        </bindings> 
        <client> 
            <endpoint address="https://win-ounm08eqe64.henry.huang/DemoService.svc/DemoService" 
                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IDemoService" 
                contract="DemoServiceReference.IDemoService" name="WSHttpBinding_IDemoService" /> 
        </client> 
    </system.serviceModel> 
</configuration>
复制代码
复制代码
public partial class Form1 : Form 
{ 
    DemoServiceReference.DemoServiceClient demoServiceClient;

    public Form1() 
    { 
        InitializeComponent(); 
        demoServiceClient = new DemoServiceReference.DemoServiceClient(); 
        demoServiceClient.ClientCredentials.UserName.UserName = "alex"; 
        demoServiceClient.ClientCredentials.UserName.Password = "123456"; 
    }

    private void buttonCalculate_Click(object sender, EventArgs e) 
    { 
        try 
        { 
            textBoxResult.Text = demoServiceClient.Divide(Convert.ToInt32(textBoxNumerator.Text), Convert.ToInt32(textBoxDenominator.Text)).ToString(); 
        } 
        catch (FaultException<DemoServiceReference.DivideByZeroFault> fault) 
        { 
            MessageBox.Show(fault.Detail.Error + " - " + fault.Detail.Detail); 
        } 
    } 
}
复制代码

 

调用成功。

 

031530530172212











本文转自JF Zhu博客园博客,原文链接: http://www.cnblogs.com/jfzhu/p/4073536.html  ,如需转载请自行联系原作者








相关文章
|
安全 数据安全/隐私保护
|
安全 数据安全/隐私保护 Windows
|
存储 安全 数据安全/隐私保护
|
前端开发
WCF更新服务引用报错的原因之一
WCF更新服务引用报错的原因之一
|
C# 数据安全/隐私保护
c#如何创建WCF服务到发布(SqlServer版已经验证)
c#如何创建WCF服务到发布(SqlServer版已经验证)
73 0
|
安全 数据库连接 数据库
WCF服务创建到发布(SqlServer版)
在本示例开始之前,让我们先来了解一下什么是wcf? wcf有哪些特点? wcf是一个面向服务编程的综合分层架构。该架构的项层为服务模型层。 使用户用最少的时间和精力建立自己的软件产品和外界通信的模型。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案。且能与已有系统兼容写作。 简单概括就是:一组数据通信的应用程序开发接口。
111 0
|
C++
WCF基础教程(二)——解析iis8和iis8.5+VS2013发布wcf服务问题
WCF基础教程(二)——解析iis8和iis8.5+VS2013发布wcf服务问题
138 0
WCF基础教程(二)——解析iis8和iis8.5+VS2013发布wcf服务问题
下一篇
无影云桌面