zoukankan      html  css  js  c++  java
  • WCF 安全性 之 Windows

    案例下载

    http://download.csdn.net/detail/woxpp/4113172

    服务端配置代码

      <system.serviceModel>
        <services>
          <service name="WcfServiceLibrary.ServiceTcp">
            <endpoint address="net.tcp://localhost:8731/WcfServiceLibrary"
              binding="netTcpBinding" bindingConfiguration="testnetTcpBinding"
              contract="WcfServiceLibrary.IService1">
              <identity>
                <dns value="localhost" />
              </identity>
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:8732/WcfServiceLibrary" />
              </baseAddresses>
            </host>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <!-- 为避免泄漏元数据信息,
              请在部署前将以下值设置为 false 并删除上面的元数据终结点  -->
              <serviceMetadata httpGetEnabled="True"/>
              <!-- 要接收故障异常详细信息以进行调试,
              请将以下值设置为 true。在部署前设置为 false 
                以避免泄漏异常信息-->
              <serviceDebug includeExceptionDetailInFaults="False" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <bindings>
          <netTcpBinding>
            <binding name="testnetTcpBinding">
              <security mode="Message">
                <transport clientCredentialType="None" protectionLevel="None"></transport>
                <message clientCredentialType="Windows"/>
              </security>
            </binding>
          </netTcpBinding>
        </bindings>
      </system.serviceModel>

    客户端调用代码 通过代理类

    http://www.cnblogs.com/woxpp/p/6232298.html

    客户端代码

        //获取域名
                String hostName = Dns.GetHostName();
                IPHostEntry ipH = new IPHostEntry();
                ipH = Dns.Resolve(hostName); 
                NetTcpBinding netTcp = new NetTcpBinding();
                netTcp.Security.Mode = SecurityMode.Message;
                netTcp.Security.Transport.ProtectionLevel = ProtectionLevel.None;
                netTcp.Security.Transport.ClientCredentialType = TcpClientCredentialType.None;
                netTcp.Security.Message.ClientCredentialType = MessageCredentialType.Windows;
                ChannelFactory<IService1> factory = new ChannelFactory<IService1>(netTcp);
                factory.Credentials.Windows.ClientCredential.UserName = "panpan.xu";
                factory.Credentials.Windows.ClientCredential.Password = "123.xpp";
                factory.Credentials.Windows.ClientCredential.Domain = "panpanxu-PC";
                IService1 proxy = factory.CreateChannel(new EndpointAddress("net.tcp://localhost:8731/WcfServiceLibrary"));
                txtMessage.Text = proxy.GetDataUsingDataContract(new WcfServiceLibrary.CompositeType() { StringValue = "sssss" }).StringValue;
      
  • 相关阅读:
    (转)静态方法与实例方法
    使用C#和Excel进行报表开发(8)
    js千分位
    各种语言多态性比较
    中国互联网100个Web2.0网站名单
    HDU4405 期望
    HDU1266 字符串逆转
    POJ1087 DInic
    POJ1003 水~
    HDU4403 DFS
  • 原文地址:https://www.cnblogs.com/woxpp/p/6232319.html
Copyright © 2011-2022 走看看