Web 服务自动重定向到 http 或 https

Web service auto-redirection to http or https

我刚刚将 C# Web 服务客户端从旧的 Web 服务更新到较新的服务,我相信它叫做 WCF?在旧的网络服务中,AllowAutoRedirect 有一个 属性,可以自动从 http 重定向到 https。效果不是很好,但是还有一个 Url 属性,所以如果 http 连接失败,我可以写代码把 URL 改成 https 然后重试。

在新的WCF方法中,有没有办法做到这一点?我是否必须添加对具有相同地址但 https 的第二项服务的引用?

(过去我在我的网站上打开和关闭过 SSL 几次,我的现场软件有必要自动处理这个问题,并使用可用的那个)。

您可以通过添加重写规则来做到这一点。这会将任何传入请求从 HTTP 重写为 HTTPS。您可以查看下面的这些帖子以找到解决方案。

<rule name="Redirect to HTTPS" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTPS}" pattern="^OFF$" />
  </conditions>
  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>