处方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()方法建立站点集
使用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()方法建立站点集
相关文章推荐
- 处方1-1使用对象模型新建站点集
- 使用python的flask新建一个简单的站点前做的注意事项
- 新建ftp站点、使用事件查看器
- 新建ftp站点,使用代码从ftp服务器下载文件(mfc)
- linux新建用户在命令行下使用tag没有提示解决办法
- 黑马程序员_如何使用Html创建简单站点
- Ajax 改造,第 1 部分:使用 Ajax 和 jQuery 改进现有站点
- 展示几个使用Ajax技术的站点
- ubuntu下使用IntelliJ IDEA 新建Tomcat项目
- 在Sps 2003中使用微软模板定制站点
- Python Web 框架,第 1 部分: 使用 Django 和 Python 开发 Web 站点
- 使用XFire开发及调用WebService的步骤 web services readme
- 网络采集软件核心技术剖析系列(2)---如何使用C#语言获得任意站点博文的正文及标题
- 使用Soap消息调用Web Services
- 在vs2015新建项目时使用自定义模板
- ArcGIS for Server新建站点异常
- 项目管理---git----快速使用git笔记(五)------本地项目代码提交到远程仓库---新建项目
- 使用git 新建分支以及管理分支
- iOS之使用NSURLConnection连接HTTPS(SSL)站点
- 使用httpclient、htmlcleaner 、xpath 采集新浪微博3G站点数据