7
 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、コントローラーのアクションメソッド内で上記を使用しますか?

4

1 に答える 1

8

ドキュメントによると:

DataTokens プロパティを使用して、ルートに関連付けられた値を取得または割り当てます。この値は、ルートが 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」という名前の DataToken を使用しているとは思わないので、質問に答えるのは難しいです。カスタム アプリケーション コードを検索してDataTokens["scheme"]、それが必要な場所と理由を確認することができます。

編集:

「ASP.NET MVC ルーティングに HTTPS/SSL サポートを追加する」という記事を見つけました。"scheme" データ トークンを使用する例があります。したがって、あなたのアプリケーションがまったく同じ方法でそれを使用していると確信しています。

于 2013-08-25T22:43:19.517 に答える