UriTemplateTable.MakeReadOnly(Boolean) メソッド


UriTemplateTable を読み取り専用にします。Makes the UriTemplateTable read only.

 void MakeReadOnly(bool allowDuplicateEquivalentUriTemplates);
public void MakeReadOnly (bool allowDuplicateEquivalentUriTemplates);
member this.MakeReadOnly : bool -> unit
Public Sub MakeReadOnly (allowDuplicateEquivalentUriTemplates As Boolean)



UriTemplate 内で重複した同等の UriTemplateTable インスタンスを許可するかどうかを指定します。Specifies whether to allow duplicate equivalent UriTemplate instances in the UriTemplateTable.


MakeReadOnly(Boolean) メソッドが呼び出されるときに、次のいずれかの種類の検証が行われます。When the MakeReadOnly(Boolean) method is called, one of the following types of validation occurs:

  • MakeReadOnly(Boolean) を渡して false を呼び出す場合、UriTemplateTable はテーブル内に構造的に等しい複数のテンプレートが存在しないことを確認します。When MakeReadOnly(Boolean) is called passing in false, the UriTemplateTable checks to make sure the table contains no multiple structurally-equivalent templates. 該当するテンプレートが見つかった場合は、例外がスローされます。If it finds such templates, an exception is thrown. この種類の検証は、受信 URI と一致するテンプレートが 1 つだけであることを確認する場合に、MatchSingle(Uri) と組み合わせて使用します。This type of validation is used in conjunction with MatchSingle(Uri) when you want to ensure only one template matches an incoming URI.

  • MakeReadOnly(Boolean) を渡して true を呼び出した場合は、構造的に等しい複数のテンプレートを UriTemplateTable に含めることができます。When MakeReadOnly(Boolean) is called passing in true, multiple structurally-equivalent templates can be contained within a UriTemplateTable. ただし、テンプレート内のクエリ文字列はあいまいにすることができません。同一のクエリ文字列のみが使用できます。However, any query strings in the templates must not be ambiguous; identical query strings are allowed. この種類の検証は、候補 URI で複数のテンプレートの一致が許可されている場合に、Match(Uri) と組み合わせて使用されます。This type of validation is used in conjunction with Match(Uri) when multiple template matches are allowed on the candidate URI.

MakeReadOnly(Boolean) への最初の呼び出しだけが受け入れられ、それ以降の呼び出しは無視され、例外はスローされません。Only the first call to MakeReadOnly(Boolean) is honored, subsequent calls are ignored without any exception being thrown.