2010-03-09 7 views
1

몇 가지 맞춤 수신기 목록이 있습니다. 각 맞춤 수신기 목록에는 몇 개의 이벤트 수신기가 연결되어 있습니다 (단 몇 개만 실제로 작성되었습니다). 이 이벤트 수신기는 개별 이벤트를 처리하고 다양한 기능을 수행합니다. 내 질문은 Visual Studio 솔루션/프로젝트에서 의미있는 방식으로 구성하는 방법입니다. 어떤 이벤트 수신기가 자신의 기능/클래스/폴더/프로젝트/솔루션을 가져야합니까?Visual Studio에서 SharePoint 이벤트 수신기를 어떻게 구성해야합니까?

현재 우리는 두 가지 솔루션을 제공합니다. 각각의 솔루션은 고유 한 솔루션으로 새 이벤트 수신기 프로젝트를 만들 때 Visual Studio가 기본적으로 사용하는 것입니다. 다른 하나는 하나의 폴더에 두 개의 이벤트 (ItemAdded 및 ItemUpdating)를 처리하도록 설정된 특정 목록 뒤에 이름이 지정된 단일 프로젝트입니다. 폴더에는 두 개의 C# 파일이 들어 있으며 각 파일에는 해당 이벤트 수신자에 대한 하나의 기능이있는 자체 클래스가 들어 있습니다.

그러나 하나의 목록에 대해 여러 이벤트 수신기가있는 경우 하나의 파일에 넣어야합니까? 또는 같은 폴더에있는 별도의 파일로? 아니면 별도의 프로젝트로? 동일한 이벤트에서 동일한 목록 항목에 대해 수행해야하는 논리적으로 구별되는 두 개의 작업이있는 경우 두 작업을 수행하는 하나의 이벤트 수신기가 있어야합니까? 아니면 각각의 이벤트 수신기를 별도로 사용해야합니까?

현재 각 생각에는 각 이벤트 수신기에 대해 별도의 파일이 있고, 단일 이벤트 수신기를 사용하여 해당 이벤트 중 적합한 작업 (독립이든 아니든)을 수행 할 수있는 폴더가 있어야합니다. 나는 "모범 사례"가 어떤 종류의 조직이 될지 궁금 할뿐입니다.

답변

0

이 주제에 대한 모범 사례를 보지 못했기 때문에 이것은 개인적인 관점에서 볼 때 더 적습니다.

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에서
, 나는 ItemAdding 등 모든 ItemDeleting을 가지고 있고, ListEventReceiver.cs에 나는 등 FieldAdding, FieldUpdated이

하나의 대안 별도의 폴더에있는 모든 이벤트 수신기 코드/클래스를 배치하는 것 구조,하지만 내 생각에 그것은 목록 정의와 같은 폴더에 그들을 가지고하는 것이 좋습니다. 그런 식으로, 그 목록과 관련된 모든 것이 한 곳에 있습니다.

결국 나는 당신과 당신 팀에 가장 잘 맞는 구조를 사용해야하며 일관성이 있어야한다고 생각합니다.

관련 문제