以编程方式将用户角色添加到COM+;组件(C#)

以编程方式将用户角色添加到COM+;组件(C#),c#,asp.net,security,com+,dll,C#,Asp.net,Security,Com+,Dll,我想知道如何使用C以编程方式将ASP.NET(“机器名”\IIS\U IUSRS)添加到COM+组件中的用户角色。因此,无论何时安装我的COM+组件,都会在角色下创建ASP.NET用户。以下是代码。您必须引用C:\windows\system32\com\comadmin.dll using System; using COMAdmin; using Microsoft.VisualBasic; namespace TesteAdicionaRole { class Program

我想知道如何使用C以编程方式将ASP.NET(“机器名”\IIS\U IUSRS)添加到COM+组件中的用户角色。因此,无论何时安装我的COM+组件,都会在角色下创建ASP.NET用户。

以下是代码。您必须引用C:\windows\system32\com\comadmin.dll

using System;
using COMAdmin;
using Microsoft.VisualBasic;

namespace TesteAdicionaRole
{
    class Program
    {
        static void Main(string[] args)
        {
            string packageName = "TRICOLOR";
            ICOMAdminCatalog catalog = (ICOMAdminCatalog)Interaction.CreateObject("COMAdmin.COMAdminCatalog", string.Empty);
            ICatalogCollection packages = (ICatalogCollection)catalog.GetCollection("Applications");
            packages.Populate();
            foreach (ICatalogObject package in packages)
                if (package.Name.ToString().Equals(packageName))
                {
                    ICatalogCollection roles = (ICatalogCollection)packages.GetCollection("Roles", package.Key);
                    roles.Populate();
                    ICatalogObject role = (ICatalogObject)roles.Add();
                    role.set_Value("Name", "MyRoleName");
                    roles.SaveChanges();
                    ICatalogCollection users = (ICatalogCollection)roles.GetCollection("UsersInRole", role.Key);
                    users.Populate();
                    ICatalogObject user = (ICatalogObject)users.Add();
                    user.set_Value("User", "MV0266\\IUSR_MV0266");
                    users.SaveChanges();
                    break;
                }            
        }
    }
}

[]的

谢谢!非常详细和有用。