繁体   English   中英

Sharepoint 2010-部署时添加组

[英]Sharepoint 2010 - Add group on deploy

为了为网站集提供Webpart和自定义Web模板,我需要创建自定义组。 我通过以下方式做到这一点:

     using (SPSite site = properties.Feature.Parent as SPSite)
        {
            if (site != null)
                using (SPWeb rootWeb = site.RootWeb)
                {

                    try
                    {
                        rootWeb.AllowUnsafeUpdates = true;
                        rootWeb.SiteGroups.Add("Admins", site.Owner, site.Owner, "Admins");

                        try
                        {
                            SPGroup sp_grpAdmins = rootWeb.SiteGroups["Admins"];
                            SPRoleDefinition sp_rldAdmins = 
                            rootWeb.RoleDefinitions.GetByType(SPRoleType.Administrator);
                            sp_rldAdmins.Name = "Admin rights";
                            sp_rldAdmins.Description = "all";
                            rootWeb.RoleDefinitions.Add(sp_rldAdmins);
                            SPRoleAssignment sp_rlaAdmins = new SPRoleAssignment(sp_grpAdmins);
                            sp_rlaAdmins.RoleDefinitionBindings.Add(
                            rootWeb.RoleDefinitions["Admin rights"]);
                            rootWeb.RoleAssignments.Add(sp_rlaAdmins);
                            sp_grpAdmins.Update();
                            rootWeb.Update();
                        }
                        catch (ArgumentException argex)
                        {

                        }
        }
    }

如果我将此代码添加到Webpart中(用于调试示例-无法使事件接收器进行调试),则会创建该组。 您是否知道如何调试功能事件接收器,或者是否存在功能事件接收器无法完成的限制? 非常感谢你。

您可以通过将Visual Studio附加到w3wp.exe来调试事件接收器。 请注意,您应该手动激活功能,因为如果自动激活,则会在您的进程加载所有DLL之前将其激活。

我通常要做的是安装站点。 部署程序包。

在Visual Studio中,按Ctr + Alt + P(菜单->调试->附加以进行处理)。 这将打开计算机上运行的所有进程。 如果不存在w3wp.exe进程,请确保选中“显示所有用户的进程”和“显示所有会话中的进程”。 在列表中选择所有w3wp.exe进程,然后单击附加。 系统将询问您有关警告安全性的信息-只需单击“确定”(如果需要,可以多次单击)。

连接后,在“站点收集功能”中手动激活带有事件接收器的功能。 如果一切顺利->这将停止,您可以继续调试。

如果万一它没有在事件接收器中停止,我建议您重新编译该项目。 再次打包并重新部署。 IIS重置后-这将从GAC重置DLL。

请注意,Visual Studio项目应处于DEBUG模式。

如果你有任何问题...

希望能帮助到你,

安德鲁

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM