您的位置:首页 > 职场人生

处方1-2使用Web Services新建站点集

2008-12-16 21:21 363 查看
SharePoint2007 Development Recipes 读书笔记 处方1-2
使用Web Services新建站点集
/_vti_adm/Admin.asmx]http://Virtual_Server_Name:[central_admin_port]/_vti_adm/Admin.asmx
/_vti_bin/Sites.asmx]http://Virtual_Server_Name:[web_app_port]/_vti_bin/Sites.asmx
在代码中分别添加为AdminService和SitesService的Web引用
使用Web Service时要注意Credential属性
使用System.Net.CredentialCache.DefaultCredentials属性获取当前用户的验证信息
用户必须要俱备Farm Administrator的权限才能成功创建站点集
使用System.Net.NetworkCredential()可以获取指定用户的权限
核心代码:
protected void Page_Load(object sender, System.EventArgs e) {
try {
if (!IsPostBack)
{
// 第1步:取得所选Web应用程序的站点模板列表
SitesService.Sites objSites = new SitesService.Sites();
objSites.Credentials = System.Net.CredentialCache.DefaultCredentials;
SitesService.Template[] arrTemplates;
uint langId = (uint)1033;
uint templateCount =objSites.GetSiteTemplates(langId, out arrTemplates);
int i;
ListItem listItem;
ddlTemplate.Items.Clear(); //ddlTemplate是页面上的一个下接列表
for (i = 0; (i <= (arrTemplates.Length - 1)); i++)
{
// 由于隐藏模板并不提供给用户交互使用,所以将隐藏模板排除
if (!arrTemplates[i].IsHidden)
{
listItem = new ListItem(arrTemplates[i].Title,
arrTemplates[i].Name);
ddlTemplate.Items.Add(listItem);
}
}
ddlTemplate.Enabled = true;
lblMessage.Text = "";
}
}
catch (Exception ex) {
lblMessage.Text = ex.Message;
}
}

protected void cmdCreateNewSiteCollection_Click1(object sender,
EventArgs e)
{
try
{
// 第二步:确定必要的信息都已填好
//以下均是页面中的文本框和下接列表
if (txtSiteCollPath.Text != ""
&& txtSiteName.Text != ""
&& txtTitle.Text != ""
&& txtDescription.Text != ""
&& ddlTemplate.SelectedValue != ""
&& txtOwnerLogin.Text != ""
&& txtOwnerName.Text != ""
&& txtOwnerEmail.Text != "")
{
// 第四步:建新网站集
AdminService.Admin objAdmin = new AdminService.Admin();
objAdmin.Credentials = System.Net.CredentialCache.DefaultCredentials;
objAdmin.CreateSite((txtSiteCollPath.Text + ("/" +txtSiteName.Text)),
txtTitle.Text,
txtDescription.Text,
1033,
ddlTemplate.SelectedValue,
txtOwnerLogin.Text,
txtOwnerName.Text,
txtOwnerEmail.Text,
"", "");
// Step 6: Display success message
lblMessage.Text = "Successfully added new site";
lblMessage.Visible = true;
}
else
{
// 第三步:要求用户填好所有信息
lblMessage.Text = "Please fill in all fields";
lblMessage.Visible = true;
}
}
catch (Exception ex)
{
// Step 7: Display error message
lblMessage.Text = ex.Message;
lblMessage.Visible = true;
}
}
}

页面如图:



说明:程序首先通过Web引用SitesService的GetSiteTemplates()方法取得站点模板列表,然后通过Web引用AdminService.Admin的CreateSite()方法建立站点集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲