SharePoint2010 为我们提供了丰富的客户端API(Client Object Model:COM),我们可以在客户端调用"COM” 来访问SharePoint数据,但是在Silverlight或者是javascript访问"COM”的时候,所有的调用都是异步的,也就是说当我的逻辑很复杂的时候,可能涉及到多次的异步调用才能够完成需要的功能,这时候我们就应该考虑建一个自定义的后台处理层来完成复杂的操作,将结果一次返回给前端,有多种选择可以做,比如建立自定义WebService,创建Httphandler等等,如果功能不是很复杂,我们可以选择使用自定义Httphandler来完成,下面介绍下步骤:
1. 在Visual studio2010中创建一个empty SharePoint Project。
2. 选择Add –> Add “SharePoint Layout Mapped Folder”。
3. 在加入的Layout folder下可以建立自定义的folder,如demoHandler folder,部署是会自动部署到"\14\TEMPLATE\LAYOUTS”下。
4. 在demoHandler下我们可以添加httphandler文件了,注意SharePoint project下并不能通过add new item来添加一个ASHX文件,所以你可以先建一个Web Application Project, 在这个project中添加ASHX文件,也就是Generic handler项,然后将其Copy至demoHandler下。
5. 我们添加了demoHandler后,打开.ASHX文件,添加对Microsoft.SharePoint.dll的引用,在ASHX中加入