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>
我刚刚将 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>