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)

	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 = gcnew Regex( "http://www.contoso.com/.*" );

// Create a WebPermission that gives the permissions to all the hosts containing
// the same fragment.
WebPermission^ myWebPermission = gcnew 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