【问题标题】:How should I organize SharePoint Event Receivers in Visual Studio?我应该如何在 Visual Studio 中组织 SharePoint 事件接​​收器?
【发布时间】:2011-04-03 01:39:30
【问题描述】:

我们有几个自定义列表,每个列表都有几个与之关联的事件接收器(尽管到目前为止实际上只编写了几个)。此事件接收器处理单个事件的混杂并执行各种功能。我的问题是如何以一种有意义的方式在 Visual Studio 解决方案/项目中组织它们。哪些事件接收器应该有自己的函数/类/文件夹/项目/解决方案?

目前我们有两种解决方案,每一种都只是在使用自己的解决方案创建新的事件接收器项目时使用 Visual Studio 的默认设置。另一个有一个项目,其中一个文件夹以特定列表命名,该列表设置为处理该列表上的两个事件(ItemAdded 和 ItemUpdating)。该文件夹包含两个 C# 文件,每个文件都包含其自己的类,并为该特定事件接收器提供一个函数。

但是如果我有多个事件接收器用于一个列表,我应该将它们放在一个文件中吗?还是放到同一个文件夹中的单独文件中?还是进入单独的项目?如果我有两个逻辑上不同的操作应该在同一个事件中对同一个列表项执行,我应该有一个事件接收器来执行这两个操作,还是为每个操作单独的事件接收器?

我目前的想法是为每个列表创建一个文件夹,为每个事件接收器提供单独的文件,并使用单个事件接收器在该事件期间执行任何适当的操作(无论是否独立)。我只是想知道什么样的组织会是“最佳实践”。

【问题讨论】:

    标签: visual-studio sharepoint event-receiver


    【解决方案1】:

    这或多或少是个人观点,因为我还没有看到任何关于该主题的最佳实践。 在我的项目中,列表及其相应的事件处理程序类具有以下结构:

    12  
    |- TEMPLATE  
    |-- FEATURES  
    |--- My Feature  
    |---- CustomList1  
    |----- Allitems.aspx  
    |----- DispForm.aspx  
    |----- EditForm.aspx  
    |----- ListDefinition.xml  
    |----- ItemEventReceiver.cs  
    |----- ListEventReceiver.cs  
    |----- schema.xml  
    |----- Etc, etc...  
    |---- CustomList2  
    |----- Allitems.aspx  
    |----- Etc, etc...  
    

    我有一个用于项目接收器事件的文件和一个用于列表接收器事件的类。
    在 ItemEventReceiver.cs 中,我有所有 ItemDeleting、ItemAdding 等,在 ListEventReceiver.cs 中我有 FieldAdding、FieldUpdated 等。

    另一种方法是将所有事件接收器代码/类放在单独的文件夹结构中,但我认为最好将它们放在与列表定义相同的文件夹中。这样,与该列表相关的所有内容都在一个位置。

    最后,我认为您必须使用最适合您和您的团队的结构并保持一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 1970-01-01
      • 2014-09-29
      • 1970-01-01
      相关资源
      最近更新 更多