获取对网站、Web 应用程序和其他关键对象的引用
来源:互联网 发布:网站php源码下载 编辑:程序博客网 时间:2024/06/16 20:29
若要使用WSS部署,您的代码必须先获取对将要处理的对象(包括网站、网站集和 Web 应用程序)的引用。可以使用两种方法完成此操作:一种用于将代码用于控制台或基于 Windows 的应用程序时;另一种用于将代码用于浏览器宿主应用程序时,如当选择“网站”作为 Microsoft Visual Studio 项目的类型时。
浏览器宿主应用程序:建立网站上下文
若要通过浏览器宿主应用程序使用 WSS 部署,必须先建立网站上下文或网站集上下文以执行对服务器所做的请求。
必须在代码中获得请求的 HTTP 上下文,建议使用 Microzsoft.SharePoint.SPContext 类及其成员来实现此目的。
当前网站集:SPSite oSiteCollection = SPContext.Current.Site;
当前网站: SPWeb oWebSite = SPContext.Current.Web;
当 .aspx 文件中包含代码或 .aspx.cs 文件时,可以使用 SPControl 对象的方法,并将 System.Web.UI.Page.Context 属性作为参数。
例如:SPWeb oWebSite = SPControl.GetContextWeb(Context);
如果 .aspx 页继承自 LayoutsPageBase 而非 System.Web.UI.Page,则可以使用前一个类的 Site 或 Web 属性分别获取对当前网站集或网站的引用。(或者,可以将 Microsoft.SharePoint.WebControls.LayoutsPageBase.Context 属性用作GetContextWeb 和 GetContextSite 方法的参数。)LayoutsPageBase 提供了一些额外的面向 SharePoint 的功能,这些功能主要用于管理用户对不能与 System.Web.UI.Page 一起使用的页面所具有的权限。
例如,若在继承自 LayoutsPageBase 的 .aspx 页中使用以下代码(或隐藏在页面中的代码),则将获取对当前网站的引用。SPWeb oWebSite = this.Web;
当前顶级服务器场:
SPFarm myFarm = SPContext.Current.Site.WebApplication.Farm;
当前网站集的首要网站:SPWeb oTopSite = SPContext.Current.Site.RootWeb;
SPContext 类不会限制您获取任何给定类型的当前对象。
例如,可以使用 Microsoft.SharePoint.SPSite.AllWebs 属性来获取对当前网站之外的网站的引用。下面的行使用索引器和 AllWebs 属性返回指定网站的上下文。
SPWeb oWebSite = SPContext.Current.Site.AllWebs["myOtherSite"];
最后,若要获取对服务器场或当前物理服务器的引用,可以使用静态属性 Microsoft.SharePoint.Administration.SPFarm.Local和 Microsoft.SharePoint.Administration.SPServer.Local
下面的行是一个示例。
SPFarm oFarm = SPFarm.Local;
您不仅可以在 Web 应用程序和 .aspx 页中使用上面的任何技术,也可以在自定义 Web 服务和 Web 部件中加以使用。
控制台和 Windows 应用程序:使用对象构造函数
SPContext 类在控制台或基于 Windows 的应用程序中没有任何意义。如果要为这些类型的应用程序编写代码且要使用特定的网站集,需使用 SPSite 构造函数来实例化表示该网站集的对象,如下例所示。
using (SPSite oSiteCollection = new SPSite("http://localhost"))
{
......
}
在具有对集合的引用后,使用 AllWebs 集合获取对该集合中特定网站的引用。
using (SPWeb oWebSite = mySiteCollection.AllWebs["mySite"])
{
......
}
另外,使用 OpenWeb 方法,如下面的行所示。
using (SPWeb oWebSite = mySiteCollection.OpenWeb("mySite"))
{
......
}
- 获取对网站、Web 应用程序和其他关键对象的引用
- Web应用程序和Web网站的区别
- Web应用程序和Asp网站的区别
- web应用程序和网站的区别
- Web应用程序和Web网站
- 获取其他应用程序的context
- vs中web网站和web应用程序的区别
- .net中Web应用程序和web网站的区别
- .net中Web应用程序和web网站的区别
- Web 2.0 网站成功的关键
- web应用程序和Web网站区别
- web应用程序和Web网站区别
- web应用程序和Web网站区别
- VS中Web应用程序和Web网站
- web应用程序和Web网站区别
- Oracle 表被其他的 对象 引用
- Android获取其他包的Context和在任意位置获取应用程序Context
- Android获取其他包的Context和在任意位置获取应用程序Context 工具类
- 经典笑话:老公的忏悔(看了笑S你)
- 什么是FTP?FTP端口号是多少?FTP的端口号能改吗?ftp的端口号20、21有何区别?ftp命令?...
- 1016 Prime Ring Problem
- DataGridView新特色(vs2005)
- windows mobile手机开发环境搭建及连接虚拟手机设备等
- 获取对网站、Web 应用程序和其他关键对象的引用
- [转]日语快速学习原则和方法!
- 排序语句写法
- ActiveX插件在关闭IE窗口时使得IE崩溃
- 论语十则
- 下电子书不错~
- 数据类型转换 for c++(完善中)
- 模式匹配的KMP算法详解
- kde gnome切换