2013-05-02 6 views
6
context.MapRoute("authorized-credit-card", "owners/{ownerKey}/authorizedcreditcard/{action}", 
new { controller = "authorizedcreditcard", action = "index" }, 
new { ownerKey = nameFormat }, dataTokens: new { scheme = Uri.UriSchemeHttps }); 

私のルートファイルには、上記の種類のルートがあります。なぜdataTokensがルートにあるのですか?

だから、dataTokens: new { scheme = Uri.UriSchemeHttpsの意味は何ですか?

コントローラの動作方法の中で上記のdataTokensを使用していますか? the documentationによると

+0

私は 'dataTokens'はMVC 3の' MapRoute'のパラメータではないと思います。 –

+0

@vonv。ごめんなさい。実際にはMVC 2でなければなりません。私はそれを修正しました。 Plzはそれをチェックします。 – Sampath

答えて

7

あなたはルートがURLパターンに一致するかどうかを決定するために使用されていないルートに関連付けられた値を取得または割り当てることDataTokensプロパティを使用します。これらの値は、ルートハンドラに渡されます。ルートハンドラは、要求の処理に使用できます。

したがって、DataTokensは、ルートと共に渡すことができる追加の種類のデータです。 「私は、フレームワークはDataTokenは、名前の使用しないと思います

internal class RouteDataTokenKeys 
{ 
    public const string UseNamespaceFallback = "UseNamespaceFallback"; 
    public const string Namespaces = "Namespaces"; 
    public const string Area = "area"; 
} 

:事前に定義されている3つのDataTokenのキーがあります(クラスには、以下のASP.NET MVC 4が、同じキーの形式のソースコードは、バージョン2で使用されています)あなたの質問に答えることは難しいです。 DataTokens["scheme"]のカスタムアプリケーションコードを検索し、必要な場所と理由を確認することができます。

EDIT:

私はan article on "Adding HTTPS/SSL support to ASP.NET MVC routing"を見つけました。 「スキーム」データトークンの使用例があります。だからあなたのアプリケーションがまったく同じ方法でそれを使用していることは確かです。

関連する問題