WebPermissionAttribute.AcceptPattern Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает шаблон регулярного выражения для описания строки URI, принятой текущим WebPermissionAttribute.
public:
property System::String ^ AcceptPattern { System::String ^ get(); void set(System::String ^ value); };
public string AcceptPattern { get; set; }
member this.AcceptPattern : string with get, set
Public Property AcceptPattern As String
Значение свойства
Строка, содержащая шаблон регулярного выражения для описания строки URI, принятой текущим WebPermissionAttribute. Эта строка должна содержать знаки переключения в соответствии с правилами кодирования строки конструктора Regex.
Исключения
При попытке установить значение свойство AcceptPattern не равно null
. Если нужно указать более одного URI для приема подключения, используйте дополнительный оператор объявления атрибута.
Примеры
В следующем примере показано, как использовать WebPermissionAttribute для указания допустимого AcceptPattern.
public:
[method:WebPermission(SecurityAction::Deny,AcceptPattern="http://www\\.contoso\\.com/Private/.*")]
static void CheckAcceptPermission( String^ uriToCheck )
{
WebPermission^ permissionToCheck = gcnew WebPermission;
permissionToCheck->AddPermission( NetworkAccess::Accept, uriToCheck );
permissionToCheck->Demand();
}
static void demoDenySite()
{
// Passes a security check.
CheckAcceptPermission( "http://www.contoso.com/Public/page.htm" );
Console::WriteLine( "Public page has passed Accept permission check" );
try
{
// Throws a SecurityException.
CheckAcceptPermission( "http://www.contoso.com/Private/page.htm" );
Console::WriteLine( "This line will not be printed" );
}
catch ( SecurityException^ e )
{
Console::WriteLine( "Expected exception: {0}", e->Message );
}
}
[WebPermission(SecurityAction.Deny, AcceptPattern=@"http://www\.contoso\.com/Private/.*")]
public static void CheckAcceptPermission(string uriToCheck) {
WebPermission permissionToCheck = new WebPermission();
permissionToCheck.AddPermission(NetworkAccess.Accept, uriToCheck);
permissionToCheck.Demand();
}
public static void demoDenySite() {
//Passes a security check.
CheckAcceptPermission("http://www.contoso.com/Public/page.htm");
Console.WriteLine("Public page has passed Accept permission check");
try {
//Throws a SecurityException.
CheckAcceptPermission("http://www.contoso.com/Private/page.htm");
Console.WriteLine("This line will not be printed");
}
catch (SecurityException e) {
Console.WriteLine("Expected exception: " + e.Message);
}
}
<WebPermission(SecurityAction.Deny, AcceptPattern := "http://www\.contoso\.com/Private/.*")> _
Public Shared Sub CheckAcceptPermission(uriToCheck As String)
Dim re As New Regex("http://www\.contoso\.com/Public/.*")
Dim con As New WebPermission(NetworkAccess.Connect, re)
con.Assert()
Dim permissionToCheck As New WebPermission()
permissionToCheck.AddPermission(NetworkAccess.Accept, uriToCheck)
permissionToCheck.Demand()
End Sub
Public Shared Sub demoDenySite()
'Passes a security check.
CheckAcceptPermission("http://www.contoso.com/Public/page.htm")
Console.WriteLine("Public page has passed Accept permission check")
Try
'Throws a SecurityException.
CheckAcceptPermission("http://www.contoso.com/Private/page.htm")
Console.WriteLine("This line will not be printed")
Catch e As SecurityException
Console.WriteLine(("Expected exception" + e.Message))
End Try
End Sub
Комментарии
При применении WebPermissionAttribute к классу это свойство указывает, какая строка регулярного выражения будет принята для использования в классе. Это свойство имеет значение однократной записи.