• 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

  • 相关阅读:
    百度点聚合功能,自定义针头功能
    iOS之极光推送
    iOS之短信认证
    iOS FMDB
    iOS 远程推送
    iOS之本地推送(前台模式与后台模式)
    iOS指纹识别
    关于——GCD
    关于——NSThread
    给label text 上色 && 给textfiled placeholder 上色
  • 原文地址:https://www.cnblogs.com/jfzhu/p/4073536.html
Copyright © 2020-2023  润新知