WCF客户端如何检测该服务器是否需要安全证书?检测应该在运行时进行。
答案 0 :(得分:1)
我想解决这个问题的第一件事就是连接到该服务器并调用方法或类似的东西。将服务器调用放在try-catch块中,并在运行时读取消息。
例如,我在我的应用程序中尝试了这个,该应用程序与具有安全证书的服务器连接,删除了客户端中的证书部分。我有这样的错误:
The client certificate is not provided. Specify a client certificate in ClientCredentials.
因此,如果捕获到此异常,您可以在运行时检测到服务器需要安全证书。
此问题可能有更多异常消息。另外,我不知道这是不是最好的方法。但它应该有用。
答案 1 :(得分:0)
您需要事先知道(设计时间)。没有万无一失的方法可以在运行时知道这一点(您可以从错误消息中猜出,但这不是一个好主意。) 如果只需要在运行时决定这一点,那么客户端和服务器必须就自己的协议达成一致,以便进行通信(例如,操作IsCertRequired)。