如何强制ASP.NET Web.API生成HTTPS链接?
在我的MVC应用中,我以这种方式@Url.HttpRouteUrl("DefaultApi", new { controller = "People" })
但是如果通过HTTP访问Web应用程序,链接将使用HTTP架构。我想强制HTTPS连接到Web API。
我知道互联网上有RequireHttpsAttribute
的例子,但是这些例子只是在需要HTTPS但没有提供时拒绝连接,没关系。我想要的是,即使通过HTTP访问应用程序,也可以使用HTTPS架构生成指向Web API的链接。
干杯。
答案 0 :(得分:1)
您可以使用RouteUrl
方法,它允许您指定协议,从而使用此协议生成绝对URL:
@Url.RouteUrl(
"DefaultApi",
new { httproute = "", controller = "People" },
"https"
)
注意httproute = ""
路由值,表示我们要为Web API控制器而不是MVC控制器生成路由。