我们在做sharepoint 2013的项目开发过程中,有时候需要用到webservice,webservice的好处就是方便其它应用系统直接或间接地操作sharepoint的列表数据。下面我们通过一个例子,来学习下如何使用webservice.
1.以管理员身份运行,打开visual studio 2012,新建一个空web应用程序 WebServicesForGDC,点击确定。
2.在项目解决方案中,添加新项目,添加一个web服务,GDC_Webservices.asmx
3.在项目解决方案中,添加sharepoint.dll引用。
4.在程序中,添加一个方法,GetName(),代码如下:
usingMicrosoft.SharePoint;
using System;
usingSystem.Collections.Generic;
using System.Linq;
using System.Web;
usingSystem.Web.Services;
namespace WebServicesForGDC
{
///
/// GDC_Webservices的摘要说明
///
[WebService(Namespace ="http://tempuri.org/")]
[WebServiceBinding(ConformsTo =WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
//若要允许使用 ASP.NET AJAX从脚本中调用此 Web 服务,请取消注释以下行。
// [System.Web.Script.Services.ScriptService]
publicclassGDC_Webservices : System.Web.Services.WebService
{
[WebMethod]
publicstring HelloWorld()
{
return"HelloWorld";
}
[WebMethod]
publicstring GetName()
{
string str ="";
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPSite site =newSPSite("http://win2012moss:6003");
SPWeb web =site.OpenWeb();
SPList list = web.Lists["用户通讯录"];
SPQuery query =newSPQuery();
SPListItemCollection sic =list.GetItems(query);
System.Data.DataTable dt =sic.GetDataTable();
if (dt.Rows.Count >0)
{
str = dt.Rows[0]["UserName"].ToString();
}
});
return str;
}
}
}
5.发布webservice到指定目录.
在项目解决方案中,右键点击发布,
点击新建。
点击确定
在发布方法中,选择文件系统选项。
选择目标位置
把目标位置放在gdcWebServices文件夹(其它文件夹目录也可以),点击打开。
最后点击发布
6.部署webservice到 IIS
打开信息服务IIS管理器,添加网站
填写网站名称,端口号8009,并且选择物理路径。
找到我们刚刚发布的webservice文件目录,点击确定
点击确定
7.配置webservice应用程序池
打开IIS应用程序池,找到gdcWebServices,点击设置应用程序池默认设置。
设置标识账号为网站集管理员,例如kw\mossadmin,点击确定
8.浏览gdc_Webservices.asmx文件,测试我们程序代码中的GetName()方法是否有效
点击方法GetName
点击调用
我们看到有一条数据,是通过程序,获取sharepoint列表中的一条数据。
证明我们做的webservice方法是有效的。接下来,就是如何在其它应用系统或者项目中,调用这个webservice,请参考下一篇文章
sharepoint 2013 如何调用自定义werbservice方法。
代码下载地址:http://download.csdn.net/detail/cxx2325938/9075641