基本上我想做的事情是找出对我的 wcf 服务的请求是否安全地发出。我使用以下代码。
context = OperationContext.Current;
bool isSecure = context.IncomingMessageHeaders.To.Scheme == Uri.UriSchemeHttps;
这是一个正确的方法吗?如果您不明白我的意思以及我想要实现的目标,我可以提供更多详细信息。
你可以检查Request.IsSecureConnection
请参阅MSDN 文档
我想您想检查一下,因为您将根据连接是否安全执行不同的逻辑。
在这种情况下,我会采取不同的方法。您可以考虑在不同的端点行为中实现不同的逻辑流,而不是检查服务代码并切换控制流——为 HTTP 端点配置一个,为 HTTPS 端点配置另一个。
与检查操作上下文的方法相比,这感觉像是更好的封装,并且可能更具可测试性。