WebPermissionAttribute.ConnectPattern Property

Definition

Gets or sets a regular expression pattern that describes the URI connection controlled by the current WebPermissionAttribute.

C#
public string ConnectPattern { get; set; }

Property Value

A string containing a regular expression pattern that describes the URI connection controlled by this WebPermissionAttribute.

Exceptions

ConnectPattern is not null when you attempt to set the value. If you wish to specify more than one connect URI, use an additional attribute declaration statement.

Examples

The following example demonstrates how to use WebPermissionAttribute to specify an allowable ConnectPattern.

C#
  
  // Set the WebPermissionAttribute  ConnectPattern property.
  [WebPermission(SecurityAction.Deny, ConnectPattern=@"http://www\.contoso\.com/Private/.*")]

public static void CheckConnectPermission(string uriToCheck) 
{
    WebPermission permissionToCheck = new WebPermission();
    permissionToCheck.AddPermission(NetworkAccess.Connect, uriToCheck);
    permissionToCheck.Demand();
}

public static void demoDenySite() {
    //Pass the security check.
    CheckConnectPermission("http://www.contoso.com/Public/page.htm");
    Console.WriteLine("Public page has passed Connect permission check");

    try 
    {
        //Throw a SecurityException.
        CheckConnectPermission("http://www.contoso.com/Private/page.htm");
        Console.WriteLine("This line will not be printed");
    }
    catch (SecurityException e) 
    {
        Console.WriteLine("Expected exception" + e.Message);
    }
 }

Remarks

When applying WebPermissionAttribute to your class, this property specifies what regular expression connect string is accepted for use within your class. This property is write-once.

Applies to

Product Versions
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

See also