none
sharepoint的用户信息修改事件应该怎么捕获? RRS feed

  • 问题

  • 在sharepoint上的用户信息list是"User Information List"是吧,但是我不能捕获到这个list的修改事件,这是为什么?
    namespace CommonEventhandler
    {
        public class ItemList : SPItemEventReceiver
        {
            public override void ItemUpdated(SPItemEventProperties properties)
            {
                //base.ItemUpdated(properties);
                SPListItem item = properties.ListItem;
                string path = @"C:\whb\test.txt";
                StreamWriter writer = new StreamWriter(path);
                writer.WriteLine("---------------------------------------3242322333--");
                foreach (SPField f in item.Fields)
                {
                    writer.WriteLine(f.Title + "||" + item[f.Title]);
                }
                writer.Close();
            }
        }
    }
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                SPSite site = new SPSite("http://wang:20000");
                SPWeb web = site.OpenWeb();
                SPList list = web.Lists["User Information List"];
                list.EventReceivers.Add(SPEventReceiverType.ItemUpdated, "CommonEventhandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=96dbc43bd465e30e", "CommonEventhandler.ItemList");
                Console.ReadLine();
            }
        }
    }
    这块代码我用自己创建的list测试通过,是可以捕获成功的
    2010年3月11日 2:11

答案

  • 不像普通 List,在 WSS3/MOSS07 中 User Information List 不支持(不会触发) ItemAdding/Added/ ... 等事件

    基于你具体的需求,你可能需要寻找其他方法
    Hope Helpful | Xiaofeng Wang | http://www.leoworks.net
    • 已标记为答案 haibo.wang 2010年3月11日 6:20
    2010年3月11日 3:10
    版主

全部回复

  • 不像普通 List,在 WSS3/MOSS07 中 User Information List 不支持(不会触发) ItemAdding/Added/ ... 等事件

    基于你具体的需求,你可能需要寻找其他方法
    Hope Helpful | Xiaofeng Wang | http://www.leoworks.net
    • 已标记为答案 haibo.wang 2010年3月11日 6:20
    2010年3月11日 3:10
    版主
  • 这个有什么折中的方法解决吗?
    我需要捕获这个事件同步用户信息到我的数据库
    2010年3月15日 7:50
  • 自己写一个 service 定时同步吧

    定时服务可以用 sharepoint 的 timer service 所谓宿主,具体实现见 SPJobDefinition 类


    Hope Helpful | Xiaofeng Wang | http://www.leoworks.net
    2010年3月15日 8:06
    版主
  • 这个定时任务经常做会不会对性能造成很大的损耗?如果时间间隔太长又不能及时同步数据

    2010年3月15日 8:21
  • 关于性能得具体情况具体分析了,多方面考虑,比如,独立服务器运行,选择访问率低的时候(比如凌晨3点),合适的时间间隔等等


    Hope Helpful | http://www.leoworks.net
    2010年4月13日 14:59
    版主