zoukankan      html  css  js  c++  java
  • WCF wsHttpBinding之Transport security Mode, clientCredentialType=”Basic”

    原创地址:http://www.cnblogs.com/jfzhu/p/4071342.html                                                                                        

    转载请注明出处

    如何在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

  • 相关阅读:
    I2C调试
    linux读取cpu温度
    看react全家桶+adtd有感
    react学习1(搭建脚手架,配置less,按需引入antd等)
    去掉console.log,正式环境不能有console.log
    Vue的minix
    数组去重我总结的最常用的方法,其他不常用就不写了
    inline-block bug解决方法
    vue中使用less/scss(这是2.0 3.0就不需要手动配置了只需要安装依赖就行了)
    Vue 调用微信扫一扫功能
  • 原文地址:https://www.cnblogs.com/jfzhu/p/4073536.html
Copyright © 2011-2022 走看看