2011-01-05 84 views

回答

6

這有幫助嗎?

 // Create a proxy with the previously create binding and 
      // endpoint address 
       channelFactory = 
       new ChannelFactory<IEchoService>(
        multipleTokensBinding, serviceAddress); 
      // configure the username credentials, the client 
      // certificate and the server certificate on the channel 
      // factory 
      channelFactory.Credentials.UserName.UserName = username; 
      channelFactory.Credentials.UserName.Password = password; 
      channelFactory.Credentials.ClientCertificate.SetCertificate(
      "CN=client.com", StoreLocation.CurrentUser, StoreName.My); 
       channelFactory.Credentials.ServiceCertificate.SetDefaultCertificate(
      "CN=localhost", StoreLocation.LocalMachine, StoreName.My); 
      client = channelFactory.CreateChannel(); 
      Console.WriteLine("Echo service returned: {0}", 
              client.Echo()); 

      ((IChannel)client).Close(); 
      channelFactory.Close(); 
     } 
     catch (CommunicationException e) 
     { 
     Abort((IChannel)client, channelFactory); 
     // if there is a fault then print it out 
     FaultException fe = null; 
     Exception tmp = e; 
     while (tmp != null) 
     { 
      fe = tmp as FaultException; 
      if (fe != null) 
      { 
       break; 
      } 
      tmp = tmp.InnerException; 
     } 
     if (fe != null) 
     { 
      Console.WriteLine("The server sent back a fault: {0}", 
     fe.CreateMessageFault().Reason.GetMatchingTranslation().Text); 
     } 
     else 
     { 
     Console.WriteLine("The request failed with exception: {0}",e); 
     } 
    } 
    catch (TimeoutException) 
    { 
     Abort((IChannel)client, channelFactory); 
     Console.WriteLine("The request timed out"); 
    } 
    catch (Exception e) 
    { 
     Abort((IChannel)client, channelFactory); 
      Console.WriteLine(
      "The request failed with unexpected exception: {0}", e); 
    } 
    Console.WriteLine(); 
    Console.WriteLine("Press <ENTER> to terminate client."); 
    Console.ReadLine(); 
} 
+0

@Thanks Zedo,感謝您的回覆。任何有用的鏈接瞭解步驟/代碼?我會盡力實現這一點。 – 2011-01-05 15:53:39