WebPermission Constructor (NetworkAccess, Regex)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Initializes a new instance of the WebPermission class with the specified access rights for the specified URI regular expression.

Namespace:   System.Net
Assembly:  System (in System.dll)

public WebPermission(
	NetworkAccess access,
	Regex uriRegex


Type: System.Net.NetworkAccess

A NetworkAccess value that indicates what kind of access to grant to the specified URI. Accept indicates that the application is allowed to accept connections from the Internet on a local resource. Connect indicates that the application is allowed to connect to specific Internet resources.

Type: System.Text.RegularExpressions.Regex

A regular expression that describes the URI to which access is to be granted.

This constructor initializes a WebPermission and grants its target permission to either make a remote host connection or accept a remote host connection using the URI described by the uriRegexparameter.


It is recommended that you create uriRegex using the RegexOptions.IgnoreCase, RegexOptions.Compiled, and RegexOptions.Singleline flags.


A candidate URI string is checked against the list of relevant regular expressions (AcceptList or ConnectList) in two ways. First, the candidate URI string is checked against the appropriate list; then, if there is no match, the candidate URI string is converted into a Uri and checked against the appropriate list.

The following example creates a new instance of WebPermission with connect rights for the specified System.Text.RegularExpressions.Regex.

 // Create an instance of 'Regex' that accepts all  URL's containing the host 
 // fragment 'www.contoso.com'.
 Regex myRegex = new Regex(@"http://www\.contoso\.com/.*");

// Create a WebPermission that gives the permissions to all the hosts containing 
// the same fragment.
WebPermission myWebPermission = new WebPermission(NetworkAccess.Connect,myRegex);

// Checks all callers higher in the call stack have been granted the permission.

.NET Framework
Available since 1.1
Return to top