gpt4 book ai didi

c# - 使用/不使用 SSL/TLS 在客户端上验证 wcf 端点的最佳实践

转载 作者:太空宇宙 更新时间:2023-11-03 13:42:40 25 4
gpt4 key购买 nike

我试图捕获 wcf sercue 的所有异常,有/没有 SSL/TLS 或端点,像这样:

try
{
ServiceReference.ServiceClient serviceClient = new ChartLogicServiceClient();
serviceClient.Open();
serviceClient.Login("", "", "");
}
catch (SecurityNegotiationException negotiationException)
{
// Could not establish trust relationship for the SSL/TLS secure channel with authority 'localhost'.
throw;
}
catch (ArgumentException argumentException)
{
// transport wrong config : The provided URI scheme 'https' is invalid; expected 'http'.
//if (argumentException.Message == "The provided URI scheme 'http' is invalid; expected 'https'.\r\nParameter name: via")
throw;
}
catch (MessageSecurityException messageSecurityException)
{
// transport wrong config: The HTTP request was forbidden with client authentication scheme 'Anonymous'.
//- HTTP Request Error
if (messageSecurityException.InnerException.Message == "The remote server returned an error: (403) Forbidden.")
{
throw;
}
else if (messageSecurityException.InnerException.Message == "The remote server returned an error: (404) Forbidden.")
{
throw;
}
}
catch (EndpointNotFoundException endpointNotFoundException)
{
// no endpoint was found or IIS on server was turned off

}

我可以在不调用任何方法的情况下检查 wcf 服务的可用性吗(我尝试了 Open() 但根本不起作用)?不确定我是否捕获了 WCF 服务的所有异常情况?我的目的是如果客户端使用 SSL/TSL 获得 wcf 异常或没有端点,我应该运行一个小型实用程序控制台来修复客户端上的 app.config 以映射到 wcf 端点和 .我真的需要你的建议。谢谢

最佳答案

您始终可以尝试连接到服务的 URL 并检查响应代码。也许不是最好的方法,但它应该有效。例如

GET mysite/myservice.svc

并检查 HTTP 状态代码。

关于c# - 使用/不使用 SSL/TLS 在客户端上验证 wcf 端点的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12351349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com