准备
你应该在功能开发机器上安装SP2010并配置。也需要安装VS2010.下面是配置开发机器必须的软件:
1.Windows 64-bit 兼容操作系统(如win7/win 2008 R2 server)
2..NET Framework 4.0(VS2010将安装Framework4.0但是SP2010要求.NET Framework3.5)
3.VS2010
4.Expression Blend(可选,但在Silverlight例子中有用)
5.SQL Server2008 或SQL 2008 R2(Expression版本也行)
6.SPD(可选)
7.SP Server2010
8.MS Office2010(InfoPath 表单)
从SP用户界面,用Contacts联系人模板创建名为Contacts的列表,如下:
步骤:
1.以管理员身份打开VS20102.新建项目,确保选择.NET Framework 3.5.
4.命名为ListItemEventReceiver,并提供保存目录
5.默认VS选择机器上可用的SP网址。选择部署为场解决方案。点击下一步。
6.保证从“需要哪种类型的事件接收器”选择列表项事件,Contacts作为事件源,在“处理以下事件”选择“正在添加项”。
7.点击完成。
8.增加必须代码,如下:
9.点击F5,生成并执行或者从调试菜单选择开始调试。默认浏览器会打开本地网址。
10.从联系人列表增加新项目,故意输入错误电话格式。11.点击保存,调用了事件处理器,抛出如下异常。如果你注意看,会发现事件接收器取消了请求。
How it works...
Asssembly元素看起来很有意思,这被称为Visual Studio Substitution token。我们创建包时,这些标识被实际值代替。class元素提供包含命名空间的类名。
在Elements.xml中,SequenceNumber元素有特别的任务。如果同一个列表有多个事件接收器,都是处理ItemAdding事件的,SharePoint会根据这些顺序数字决定执行顺序。还有一个缺失的元素Synchronization----可选项。你可以设置为同步执行或异步执行。但是这个元素不能应用到像ItemAdding这样的同步事件。不要再同步事件中设置此属性。在像ItemAdded这样的异步事件设置此属性。
VS也添加了Features。包含Feature1.Features用来部署自定义像事件接收器、可视Web部件、工作流等到SP环境。如果你有大量自定义代码,改变网站模板,创建各种列表等,使用Features你可以打包这些代码,一次性部署到SP环境中。减少了复杂性。Features提供的功能有:
Scoping--决定自定义代码是否在Web应用程序、网站集或网站上运行。
可插拔操作----安装和卸载自定义代码。
容易激活或停用自定义代码。
使用Features减少了不连贯性了版本差异。本例帮我们部署自定义事件接收器。如果你双击Feature1.feature,你会看到如下截图。这里可以修改Title、Scope和Description。我们可以部署feature到不同站点甚至不同场。
当我们生成并运行我们的解决方案时,VS自动创建WSP包,部署并激活。当我们停止调试时,VS停用此feature,卸载并做所有必要的清除工作。
WSP是SharePoint解决方案文件。基本是包含一个或多个feature的CAB文件。每个feature参照一个或更多像事件接收器、列表定义、Web部件等项目。