SPSite 站点 = new SPSite(SPContext.Current.Web.Url) 与 SPContext.Current.Web.Site

2024-02-19

为什么某些 SharePoint 示例使用

using (SPSite site = new SPSite(SPContext.Current.Web.Url))
{
    ...
}

而不仅仅是简单地?

SPSite site = SPContext.Current.Web.Site;
...

Update

我想我已经将问题缩小到以下范围:

看来我不应该使用SPContent.Current直接,除非我确定我的代码在 SharePoint 中运行。但什么时候这不是真的呢?


查看最佳实践文档在 SharePoint 2010 中处置对象 http://msdn.microsoft.com/en-us/library/ee557362%28v=office.14%29.aspx来自微软,但是有反对意见 https://sharepoint.stackexchange.com/questions/20192/using-spcontext-current-or-using-static-url.

SharePoint 项目有一些关键要点:

  • 始终丢弃yourSPWeb / SPSite 对象 --> 内存泄漏
  • Make use of SPContext.Current... when you are sure your code is running in a SharePoint context
    • 单元测试意味着没有 Sharepoint 上下文
    • 外部实用程序意味着没有 Sharepoint 上下文
    • Powershell 意味着没有 SharePoint 上下文(例如,使用功能接收器激活功能可能会失败)
  • 不要处置 SPContext.Current... 而是创建您自己的对象(再次using)

你可能有一致性问题 http://hharkema.wordpress.com/2009/09/21/spcontext-current-web-or-spcontext-current-site-openweb/与您的多个 SP.. 对象。

到底SPSite site = SPContext.Current.Web.Site;在某些情况下很好,但你无法控制这一点site对象 - 这可能是问题所在。如果你去new SPSite(...)你将永远拥有your SPSite而不是 SharePoint 为您创建和管理的东西。

就我个人而言,我几乎总是选择using结构,以便之后所有物体都得到正确处理。或者我用SPContext.Current.Web无需处置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SPSite 站点 = new SPSite(SPContext.Current.Web.Url) 与 SPContext.Current.Web.Site 的相关文章

  • 迭代共享点列表

    在代码中如何访问列表 例如共享点中的 MyList 然后迭代此列表项并获取该列表上特定列的值 例如 URL 列 要从列表中检索所有项目并迭代每个项目 最佳解决方案如下 假设此代码作为功能的一部分运行 public override void
  • ASP.NET 与 SharePoint - 哪一个更适合 Web 开发人员?

    我对分享点的信息较少 只有基本信息 Microsoft 为 Web 开发人员发布了 SharePoint 微软还表示 SharePoint 与 Workflow Foundation WCF 等其他 NET 技术兼容 并且是开发网站和 We
  • 使用 Microsoft Graph 列出 Microsoft Sharepoint 站点

    我正在使用 Microsoft Graph 使用 Microsoft OneDrive 和 Microsoft Sharepoint 据我了解 从登录用户获取文件列表的 URLOneDrive is v1 0 me drive root c
  • SharePoint 应用程序部署错误:“无法安装 SharePoint 应用程序”

    当我尝试添加 SharePoint mvc 应用程序时 出现以下错误 Error occurred in deployment step Install app for SharePoint Failed to install app fo
  • X-RequestDigest:运行共享点页面记录的 Web 测试时出现错误

    我已成功记录并重播我的 sharepoint webtest 但一两周后 当我在 Visual Studio 中重播它时 我收到 403 FORBIDDEN 错误 我了解 X RequestDigest 的证书 令牌详细信息已过期 需要在我
  • Microsoft Graph 和 Azure Ad 用户身份验证

    我在 Azure 广告中注册了一个应用程序 当我使用以下详细信息执行 ADAL 时 我会获得一个授权令牌以与 microsoft graph api 一起使用 username email protected cdn cgi l email
  • 检测 SharePoint 文件是否打开

    第一次在这里发帖 如果我偏离了任何指导方针 我深表歉意 这是我的挑战 我有一个保存到 SharePoint 的状态跟踪文件 宏将打开此状态跟踪器 记录一些信息 保存并关闭文件 我试图包含一些代码来检测另一个用户是否打开了该状态文件 否 则当
  • SharePoint 在代码隐藏中获取当前页面的完整 URL

    在 SharePoint 中 如何从隐藏代码中获取当前页面的 url 例如包含 blah aspx 页面 SPContext Current Web Url 给出http vm en http vm en 我需要它http vm en Pa
  • SharePoint 2007:如何在事务中执行一系列操作?

    我很想知道如何在事务中的 SharePoint 上下文中执行一系列操作 例如 我希望能够执行以下操作 context BeginTransaction listItemA Update listItemB Update context Co
  • 以编程方式确定身份验证模式

    有没有办法以编程方式确定 SharePoint 2007 Web 应用程序是否正在使用表单身份验证 我想一种方法可能是从 web config 中读取它 但我想知道 API 中是否公开了一些属性 看看 admin Authenticatio
  • 在家学习共享点[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有没有可以安装并用于家庭学习目的的 sharepoint 家庭 版本 Thanks Microsoft 预配置的 Sharepoint 2007 安装
  • SharePoint 2010:此页面的安全验证无效

    这是我的 Javascript 代码 用于检索 SharePoint 2010 SP 列表中的项目 var clientContextPath path site1 var clientContext new SP ClientContex
  • New-WebServiceProxy 无法通过 NTLM 进行身份验证

    我正在处理一个相当特殊的问题 我们需要访问 SharePoint 场上的列表服务 通过 Oracle SSO 联合 Web 身份验证 但我们确实配置了可以执行 Web 请求的自动化帐户 使用 AAM 我们为服务器端自动化配置了一个 内部 U
  • 使用 Sharepoint 事件接​​收器在文档库中创建文件夹

    我使用以下代码在文档库中创建一个文件夹 该事件被触发并执行到我的代码的最后一行 没有任何问题 但是 该文件夹未在我的文档库中创建或列出 public override void ItemAdded SPItemEventProperties
  • 手动启动 SharePoint 计时器作业

    我想手动调用安装在 SharePoint 服务器上的计时器作业 有用的是类似于 stsadm 命令的东西 我的场景是 我已将具有大量功能的解决方案部署到客户服务器 我不想等待每周的时间表来启动特定的计时器工作 我想输入一个命令来立即运行特定
  • 如何仅为具有特定模板 ID 的列表添加事件接收器

    我正在为自定义列表模板添加 ItemAdding 事件接收器 事件接收器和列表模板都是由相同的功能部署的 同样的功能还可以创建列表实例 我遇到的问题是该事件是为每个列表项触发在其部署的地点 eventreceivre 的 Elements
  • SharePoint 发布 HTML 字段控件将相对 URL 转换为绝对 URL

    因此 在对是否应该在面向外部的 SharePoint 网站上使用 CEWP 还是 HTML 字段控件进行了大量研究之后 我们决定使用字段控件 非常感谢 AC 现在 我们遇到了一个问题 我读过的所有博客都说这不应该是一个问题 当我们将相对 U
  • 如何实现 IFilter 来索引重量级格式?

    我需要为 Microsoft Search Server 2008 开发一个 IFilter 它执行长时间的计算来提取文本 从一个文件中提取文本可能需要 5 秒到 12 小时 我如何设计这样的 IFilter 以便守护进程不会在超时时重置它
  • 如何以编程方式更新 SharePoint Web 部件中的内容?

    有人知道如何以编程方式更新任何标准 SharePoint v3 Web 部件的内容吗 例如 将链接摘要 Web 部件放置在页面上 添加一些链接 现在 我如何使用 WSS API 更新此信息 我还没有找到任何直接的方法来执行此操作 到目前为止
  • 反向代理受 NTLM 保护的网站

    如何将请求代理到受 NTLM 保护的网站 例如团队基金会 and 共享点 我不断得到401 身份验证错误 根据这篇 Microsoft TechNet 文章 https www microsoft com technet prodtechn

随机推荐

  • Pandoc Markdown 粗体和颜色

    我正在使用 pandoc 并用 markdown 编写我的文本 为了创建我自己的风格 我使用自定义乳胶模板 我想用一种颜色来设置所有粗体单词的样式 所以当我输入时 a word 这个词不仅应该是粗体 而且还应该是例如蓝色的 在我的乳胶模板文
  • 简单显示SQlite数据库中的数据

    我试图找到一个在布局中显示 SQLite 数据库中的数据的简单示例 我尝试查看 笔记本 示例 但它只有一个输出列 是否有一个示例 其中包含多个输出列 并且如果可能的话 某些列中包含整数数据 闪电战 您可能需要考虑创建自己的客户Adapter
  • PySpark:将 DataFrame 列的值与另一个 DataFrame 列进行匹配

    在 Pandas DataFrame 中 我可以使用DataFrame isin 函数将列值与另一列进行匹配 例如 假设我们有一个 DataFrame df A pd DataFrame col1 A B C B C D col2 1 2
  • 为什么在这种情况下接口合并不起作用?

    我正在 Visual Studio Code 中编写一些 WebGL 代码 类型声明来自 npm 包 types webgl2 而 typescript 似乎没有合并以下接口 interface WebGL2RenderingContext
  • Angular 2 模板引用变量与 *ngFor [重复]

    这个问题在这里已经有答案了 我有两个组成部分 列表和详细信息 In 列表组件我想渲染多个细节组件 列表组件 ts Component selector detail templateUrl detail component html exp
  • 如何在 XAMPP 上使用 Codeigniter 删除 index.php?

    我无法在 XAMPP 1 7 3 上隐藏 Codeigniter index php URL http localhost Servidor agentesRainbow index php agentes tony tony是一个论点 将
  • 编辑输入 type="search" 伪元素按钮 ('x')

    我正在尝试制作一个看起来不错的搜索栏 我所做的是 我制作了一个搜索栏的图像 并将该图像添加到输入的背景中 然后编辑字体将出现的位置和大小 我唯一找不到编辑的方法是使用输入类型搜索时出现的小 x 按钮 我想将其向左移动一点 这样它就能修复我的
  • 如何在Android中实现拖动幻灯片视图

    我需要能够将列表视图拖动到左侧并移出视图 同时暴露第一个列表视图下方的另一个列表视图 我该怎么做呢 您可以使用 OnTouchListener 并在 ACTION MOVE 上调整大小或移动某些视图 请记住调用 setClickable t
  • Android USB 主机 API 和 USB 存储

    我正在尝试使用 android 主机 api 进行 USB 存储 我对此有很多疑问 使用主机 API 一切皆有可能 我想查看 USB 的内容 如果可能的话 查看正常的文件操作 我没有找到任何与此相关的文档帮助 我可以使用 UsbDevice
  • Wix 的 util:CloseApplication 扩展似乎不起作用

    我试图在使用 Wix 卸载之前关闭一个进程 我已经确认 只要存在可见窗口 它就可以工作 但如果没有可见窗口 此应用程序大多数情况下都是这种情况 因为它是系统托盘应用程序 卸载程序就会挂起 并且最终继续卸载 使进程保持运行 根据这个论坛帖子
  • 下载 HTML 页面及其内容

    Does Python有什么方法可以下载整个HTML页面及其内容 图像 CSS 到给定 url 的本地文件夹 并更新本地 html 文件以在本地选择内容 您可以使用urllib http docs python org library ur
  • 在 Visual Studio Code 中将语言更改为 JSX

    立即使用 Visual Studio 代码在0 8版本上支持JSX https code visualstudio com Updates languages jsx colorization 但看起来激活它的唯一方法是使用 jsx文件扩展
  • 为什么不推荐react-router v6中的HashRouter?

    在每一个react routerv6 文档页面提到HashRouter有一个简短的警告文本指出不建议使用这种路由 没有解释为什么 有没有major缺点 它会以某种方式破坏任何 api 吗 简短的回答 一些开发人员认为哈希路由会产生 丑陋 的
  • 向skimage中的regionprops添加额外的属性

    我正在使用regionprops函数从scikit image or skimage 包使用同一包中的 SLIC 超像素算法来计算分割图像的区域特征 除了函数中计算的特征之外 我还需要其他特征 主要是 标准差 偏度 峰度 我修改了源代码 r
  • 在头文件中初始化可定制结构的向量

    有没有办法获得全局结构列表并在同一头文件中初始化包含它们的修改版本的向量 我知道我无法直接访问和编辑 h 文件中的变量 因为它不是运行时代码 但也许恰好有一个解决方法 或者可能是我碰巧跳过的一些非常基本的方法C 初学者手册 如果是的话请原谅
  • Android 在 webview 中启用后退按钮

    我正在使用以下代码在我的 Android 应用程序中显示 Web 视图 package com company myapp import com google android apps analytics GoogleAnalyticsTr
  • 许可方案、防欺骗和撤销功能

    这是我的第一个问题 所以请温柔一点 我正在开发一个软件 我想使用某种许可方案来保护该软件 一个基本方案是为用户生成一些 唯一 密钥 用户在想要注册该软件时发送该密钥和注册码并收到激活码 当应用程序运行时 它通过比较 唯一 密钥和通过解密激活
  • 从独立存储中的图像设置辅助平铺背景图像

    这是我从图像网址获取流的方法 using var httpClient new HttpClient response await httpClient GetStreamAsync new Uri IMAGEURL HERE UriKin
  • 在 T-SQL 中将特定 BigInt 转换为 DateTime

    我有 bigInt 635307578922100000我需要转换成DateTime 我尝试了几种方法来做到这一点 SELECT DATEADD S CONVERT bigint 635307578922100000 1000 CONVER
  • SPSite 站点 = new SPSite(SPContext.Current.Web.Url) 与 SPContext.Current.Web.Site

    为什么某些 SharePoint 示例使用 using SPSite site new SPSite SPContext Current Web Url 而不仅仅是简单地 SPSite site SPContext Current Web