WCF 安全性 之 None

时间:2022-10-29 08:44:20

案例下载

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.IServiceTcp">
          <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="None"></security>
        </binding>
      </netTcpBinding>
    </bindings>
  </system.serviceModel>

客户端调用代码  通过代理 代理生成 参见

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

客户端调用代码 

    private void btnTest_Click(object sender, EventArgs e)
        {
            NetTcpBinding netTcp = new NetTcpBinding();
            ChannelFactory<IServiceTcp> ftc = new ChannelFactory<IServiceTcp>();
            netTcp.Security.Mode = SecurityMode.None;
            IServiceTcp proxy = ChannelFactory<IServiceTcp>.CreateChannel(netTcp, new EndpointAddress("net.tcp://127.0.0.1:8731/WcfServiceLibrary"));
            txtMessage.Text = proxy.GetDataUsingDataContract(new WcfServiceLibrary.CompositeType() { StringValue = "sssss" }).StringValue;

        }