英語で読む

次の方法で共有


NetCodeGroup.AddConnectAccess(String, CodeConnectAccess) メソッド

定義

指定された接続アクセスを現在のコード グループに追加します。

public void AddConnectAccess (string originScheme, System.Security.Policy.CodeConnectAccess connectAccess);

パラメーター

originScheme
String

コードのスキームに一致するスキームを含む String

connectAccess
CodeConnectAccess

コードで元のサーバーへの接続に使用できるスキームおよびポートを指定する、CodeConnectAccess

例外

originSchemenullです。

originScheme には、スキームで許可されていない文字が含まれています。

- または -

originScheme = AbsentOriginScheme および connectAccess は、OriginScheme をスキームとして指定します。

次のコード例では、 にオブジェクトを作成して追加 CodeConnectAccess する方法を NetCodeGroup示します。

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();
}

注釈

同じ origin schemeに対して複数CodeConnectAccessのオブジェクトを追加できます。 に既に origin scheme 1 つ以上のオブジェクトが関連付けられているCodeConnectAccess場合、 に connectAccess を指定してもnull効果はありません。 配信元スキームにオブジェクトが関連付けられていないCodeConnectAccess場合、 に connectAccessnull指定すると、一致originSchemeする配信元スキームを持つコードがその配信元サーバーにアクセスできなくなります。

適用対象

製品 バージョン
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 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