假设您有一个可通过HTTP和HTTPS访问的WCF服务,但您只希望某些方法可用于HTTPS – 我如何检查当前请求是否为HTTPS?由于HttpContext是空的,你不能简单地检查HttpContext.Current.Request.IsSecureConne
一种选择是在ASP.NET Compatibility Mode中运行WCF服务,您可以在其中访问HttpContext.Current实例.
但是,我的选择只是为安全操作创建一个不同的仅SSL服务.我真的认为你无论如何都想要这样做,所以合同是明确的;否则你将继续进行运行时检查,客户可能不知道他们试图使用的方法是不允许的.
Web服务中的“最佳实践”是使这些类型的限制尽可能明确,并且仅通过SSL提供单独的服务是描述服务限制的最明确方法.