0

如何强制 ASP.NET Web.API 生成 HTTPS 链接?

在我的 MVC 应用程序中,我以这种方式在视图中生成 url@Url.HttpRouteUrl("DefaultApi", new { controller = "People" })

但如果通过 HTTP 访问 Web 应用程序,则链接将使用 HTTP 模式。我想强制使用 HTTPS 连接到 Web API。

我知道RequireHttpsAttribute互联网上有一些例子,但是如果需要HTTPS但没有提供这些例子,这些例子只是拒绝连接,这很好。我想要的是即使通过 HTTP 访问应用程序,也可以使用 HTTPS 模式生成到 Web API 的链接。

干杯。

4

1 回答 1

1

您可以使用RouteUrl允许您指定协议的方法,从而使用此协议生成绝对 URL:

@Url.RouteUrl(
    "DefaultApi", 
    new { httproute = "", controller = "People" }, 
    "https"
)

注意httproute = ""路由值,它表明我们要为 Web API 控制器而不是 MVC 控制器生成路由。

于 2013-07-07T16:45:45.910 回答