CodeConnectAccess Klass

Definition

Anger den nätverksresursåtkomst som har beviljats till kod.

public ref class CodeConnectAccess
public class CodeConnectAccess
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeConnectAccess
type CodeConnectAccess = class
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeConnectAccess = class
Public Class CodeConnectAccess
Arv
CodeConnectAccess
Attribut

Exempel

Följande kodexempel skapar ett NetCodeGroup objekt och lägger till det på användarprincipnivån.


static void SetNetCodeGroupAccess()
{
    String^ userPolicyLevel = "User";
    // Locate the User policy level.
    PolicyLevel^ level = nullptr;
    System::Collections::IEnumerator^ ph = 
        System::Security::SecurityManager::PolicyHierarchy();
    while(ph->MoveNext())
    {
        level = (PolicyLevel^)ph->Current;
        if (level->Label == userPolicyLevel)
        {
            break;       
        }
    }
    if (level->Label != userPolicyLevel)
        throw gcnew ApplicationException("Could not find User policy level.");

    IMembershipCondition^ membership =
        gcnew UrlMembershipCondition("http://www.contoso.com/*");
    NetCodeGroup^ codeGroup = gcnew NetCodeGroup(membership);
    // Delete default settings.
    codeGroup->ResetConnectAccess();
    // Create an object that represents access to the FTP scheme and 
    // default port.
    CodeConnectAccess^ CodeAccessFtp = 
        gcnew CodeConnectAccess(Uri::UriSchemeFtp, 
        CodeConnectAccess::DefaultPort);
    // Create an object that represents access to the HTTPS scheme 
    // and default port.
    CodeConnectAccess^ CodeAccessHttps = 
        gcnew CodeConnectAccess(Uri::UriSchemeHttps, 
        CodeConnectAccess::DefaultPort);
    // Create an object that represents access to the origin 
    // scheme and port.
    CodeConnectAccess^ CodeAccessOrigin = 
        CodeConnectAccess::CreateOriginSchemeAccess
        (CodeConnectAccess::OriginPort);
    // Add connection access objects to the NetCodeGroup object.
    codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessFtp);
    codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessHttps);
    codeGroup->AddConnectAccess(Uri::UriSchemeHttp, CodeAccessOrigin);
    // Provide name and description information for caspol.exe tool.
    codeGroup->Name = "ContosoHttpCodeGroup";
    codeGroup->Description = "Code originating from contoso.com can" +
        " connect back using the FTP or HTTPS.";
    // Add the code group to the User policy's root node.
    level->RootCodeGroup->AddChild(codeGroup);
    // Save the changes to the policy level.
    System::Security::SecurityManager::SavePolicy();
}
public static void SetNetCodeGroupAccess()
{
    const string userPolicyLevel = "User";
    // Locate the User policy level.
    PolicyLevel level = null;
    System.Collections.IEnumerator ph =
        System.Security.SecurityManager.PolicyHierarchy();
    while(ph.MoveNext())
    {
        level = (PolicyLevel)ph.Current;
        if( level.Label == userPolicyLevel )
        {
            break;
        }
    }
    if (level.Label != userPolicyLevel)
        throw new ApplicationException("Could not find User policy level.");

    IMembershipCondition membership =
        new UrlMembershipCondition(@"http://www.contoso.com/*");
    NetCodeGroup codeGroup = new NetCodeGroup(membership);
    // Delete default settings.
    codeGroup.ResetConnectAccess();
    // Create an object that represents access to the FTP scheme and default port.
    CodeConnectAccess a1 = new CodeConnectAccess(Uri.UriSchemeFtp, CodeConnectAccess.DefaultPort);
    // Create an object that represents access to the HTTPS scheme and default port.
    CodeConnectAccess a2 = new CodeConnectAccess(Uri.UriSchemeHttps, CodeConnectAccess.DefaultPort);
    // Create an object that represents access to the origin scheme and port.
    CodeConnectAccess a3 = CodeConnectAccess.CreateOriginSchemeAccess(CodeConnectAccess.OriginPort);
    // Add connection access objects to the NetCodeGroup object.
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a1);
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a2);
    codeGroup.AddConnectAccess(Uri.UriSchemeHttp, a3);
    // Provide name and description information for caspol.exe tool.
    codeGroup.Name = "ContosoHttpCodeGroup";
    codeGroup.Description = "Code originating from contoso.com can connect back using the FTP or HTTPS.";
    // Add the code group to the User policy's root node.
    level.RootCodeGroup.AddChild(codeGroup);
    // Save the changes to the policy level.
    System.Security.SecurityManager.SavePolicy();
}

Kommentarer

Den här klassen används tillsammans med NetCodeGroup klassen för att styra hur körning av kod kan ansluta tillbaka till den plats som den laddades ned från. De här klasserna ger programmatisk kontroll över den WebPermission som beviljas för att köra kod som styr vilka scheman och portar koden kan använda för åtkomst till ursprungsplatsen. Du kan ange schema- och portpar som tillåts baserat på schemat i URL:en där koden kommer.

Om du vill skapa ett CodeConnectAccess objekt baserat på kodens ursprungsschema använder du CreateOriginSchemeAccess -metoden.

Om du vill skapa ett CodeConnectAccess objekt som kan använda valfritt schema men begränsas av port använder du CreateAnySchemeAccess metoden .

Konstruktorer

Name Description
CodeConnectAccess(String, Int32)

Initierar en ny instans av CodeConnectAccess klassen.

Fält

Name Description
AnyScheme

Innehåller strängvärdet som representerar schemats jokertecken.

DefaultPort

Innehåller det värde som används för att representera standardporten.

OriginPort

Innehåller det värde som används för att representera portvärdet i URI:n där koden har sitt ursprung.

OriginScheme

Innehåller det värde som används för att representera schemat i DEN URL där koden kommer.

Egenskaper

Name Description
Port

Hämtar porten som representeras av den aktuella instansen.

Scheme

Hämtar URI-schemat som representeras av den aktuella instansen.

Metoder

Name Description
CreateAnySchemeAccess(Int32)

Returnerar en CodeConnectAccess instans som representerar åtkomst till den angivna porten med valfritt schema.

CreateOriginSchemeAccess(Int32)

Returnerar en CodeConnectAccess instans som representerar åtkomst till den angivna porten med hjälp av kodens ursprungsschema.

Equals(Object)

Returnerar ett värde som anger om två CodeConnectAccess objekt representerar samma schema och port.

GetHashCode()

Fungerar som en hash-funktion för en viss typ.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för