【发布时间】:2014-10-29 08:18:08
【问题描述】:
我在本地服务器上工作,我需要一个特定的 URL 来通过 HTTPS 访问,而其余的则通过 HTTP。我已将 Visual Studio 配置为使用 IIS Express,因此我可以使用 HTTP/SSL。
我有这样的方法:
[RequireHttps]
public ActionResult SomeHttpsMethod()
{
//Do something
}
在另一个地方我有:
var url = Url.Action("SomeHttpsMethod", "SomeHttpsController", new { someParams }, Request.Url.Scheme);
如果我使用HTTP 即http://localhost:httpport 访问我的网站,我仍然会从Request.Url.Scheme 而不是HTTPS 返回HTTP。这就是它的工作方式吗?
显然,如果我使用HTTPS 访问我的网站,即以https://localhost:sslport 开头,则返回HTTPS(这是我想要的),但我不想访问HTTPS 中的网站, 仅适用于特定的 URL/控制器方法。
【问题讨论】:
-
这是因为
Request.Url.Scheme获取的是当前请求的方案,是 http。
标签: c# asp.net-mvc ssl https