为什么datatoken在路由中
本文关键字:路由 datatoken 为什么 | 更新日期: 2023-09-27 18:12:02
context.MapRoute("authorized-credit-card", "owners/{ownerKey}/authorizedcreditcard/{action}",
new { controller = "authorizedcreditcard", action = "index" },
new { ownerKey = nameFormat }, dataTokens: new { scheme = Uri.UriSchemeHttps });
在我的路由文件中我有上述类型的路由。
那么,谁能告诉我dataTokens: new { scheme = Uri.UriSchemeHttps
是什么意思呢?
以及上述dataTokens
在控制器动作方法中的使用?
根据文档:
您使用datatoken属性来检索或分配与路由相关的值,这些值不用于确定路由是否与URL模式匹配。这些值被传递给路由处理程序,在那里它们可以用于处理请求。
DataTokens是一种额外的数据可以和路由一起传递。有3个DataToken的密钥被预定义(下面的类来自ASP的源代码)。. NET MVC 4,但在版本2中使用相同的键):
internal class RouteDataTokenKeys
{
public const string UseNamespaceFallback = "UseNamespaceFallback";
public const string Namespaces = "Namespaces";
public const string Area = "area";
}
我不认为框架使用名为"scheme"的数据令牌,所以很难回答你的问题。您可能想要搜索您的自定义应用程序代码DataTokens["scheme"]
,看看在哪里以及为什么需要它。
我找到了一篇关于"在ASP中添加HTTPS/SSL支持"的文章。. NET MVC路由"。这里有一个使用"方案"数据令牌的示例。我很确定你的应用程序也是这样使用它的。