gpt4 book ai didi

wcf - 判断 WCF 服务是通过 HTTP 还是 HTTPS 调用的方法?

转载 作者:行者123 更新时间:2023-12-04 15:57:37 24 4
gpt4 key购买 nike

假设您有一个可通过 HTTP 和 HTTPS 访问的 WCF 服务,但您希望只有某些方法可用于 HTTPS——我如何检查当前请求是否为 HTTPS?由于 HttpContext 为空,您不能简单地检查 HttpContext.Current.Request.IsSecureConnection——还有其他想法吗?提前致谢。

最佳答案

考虑到 WCF 应用程序也可以作为 Windows 服务托管,根本没有 ASP.NET,在这种情况下,没有“安全”与“不安全”之分。这就是 WCF 不尝试提供此信息的原因之一。

一种选择是在 ASP.NET Compatibility Mode 中运行 WCF 服务,您确实可以访问 HttpContext.Current 实例。

但是,我的选择只是为安全操作创建一个不同的、仅支持 SSL 的服务。我真的认为无论如何你都想这样做,所以契约(Contract)是明确的;否则您只能进​​行运行时检查,而客户可能不知道他们尝试使用的方法是不允许的。

Web 服务中的“最佳实践”是使这些类型的限制尽可能明确,并且仅通过 SSL 提供单独的服务是到目前为止描述服务限制的最清晰方式.

关于wcf - 判断 WCF 服务是通过 HTTP 还是 HTTPS 调用的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2398259/

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