赏梅斋

关注微软技术

博客园 首页 新随笔 联系 订阅 管理

随笔分类 -  SharePoint StepByStep

SharePoint 一步一步 开发实例
摘要:今天做了个测试,把sharepoint2010安装在sqlserver denali CTP3上。结果安装最终以失败告终。我把数据库sqlserver denali安装在A服务器上,也是AD。把sharepoint2010安装在B服务器上,域成员。分别安装都是成功的。但当运行sharepoint2010的配置向导时,在指定数据库服务器的画面中是连接不到A服务器上的数据库的。它会报“cannot connect to database master at XXX"的错误。一般遇到这个错误可能是用户权限与服务器防火墙的问题。可参考Blog文章http://blogs.technet.co 阅读全文
posted @ 2011-11-16 15:21 赏梅斋 阅读(464) 评论(0) 推荐(0) 编辑

摘要:在事件接收器中使用对象不要在事件接收器内实例化 SPWeb、SPSite、SPList 或 SPListItem 对象。实例化这些对象而非使用通过事件属性传递的实例的事件接收器可能会导致以下问题: 大量额外的数据库往返(一次写入操作会导致在每个事件接收器中出现多达 5 次的额外往返)。 对这些实例调用 Update 方法会导致在其他注册的事件接收器中的后续 Update 调用失败。 不良的编码实践 在事件接收器内安装一个 SPSite 对象 public override void ItemDeleting(SPItemEventProperties properties){ using (S 阅读全文
posted @ 2011-02-11 18:21 赏梅斋 阅读(666) 评论(0) 推荐(0) 编辑

摘要:SPWeb.ParentWeb 属性释放清理是由 SharePoint Foundation 和 SharePoint Server 自动处理的。良好的编码实践using (SPSite site = new SPSite("http://www.msiw.net/")) { using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists["Announcements"]; SPWeb parentWeb = list.ParentWeb; //No explicit dispose requir 阅读全文
posted @ 2011-02-11 18:12 赏梅斋 阅读(1114) 评论(0) 推荐(0) 编辑

摘要:通常,调用应用程序无论何时使用新 SPSite 构造函数(任何签名),都应该在用完对象之后调用 Dispose() 方法。如果 SPSite 对象是从 GetContextSite() 中获得的,则该调用应用程序不 应该释放对象。因为 SPWeb 和 SPSite 对象会保留通过此方式派生的内部列表,所以释放对象可能会导致 SharePoint 对象模型行为无法预料。SharePoint Foundation 在页面完成之后会在内部枚举此列表以正确释放对象。SPSiteCollection 类SPSiteCollection.Add 方法SPSiteCollection.Add 方法将创建并返 阅读全文
posted @ 2011-02-11 18:04 赏梅斋 阅读(857) 评论(0) 推荐(0) 编辑

摘要:可以采用某些编码技术来确保释放对象。这些技术包括在代码中使用以下内容: Dispose 方法using 语句try 、catch 和 finally 块Dispose 与 Close 方法的用途SPWeb 对象和 SPSite 对象的 Dispose 和 Close 方法作用相同。Dispose 方法调用对象的 Close 方法。我们建议调用 Dispose 方法,而不是调用 Close 方法,因为 SPWeb 和 SPSite 对象实现 IDisposable 接口,标准 .NET Framework 垃圾收集调用 Dispose 方法从内存中释放与对象关联的任何资源。using 语句通过使 阅读全文
posted @ 2011-02-11 17:51 赏梅斋 阅读(457) 评论(0) 推荐(0) 编辑

摘要:通过提出以下问题,可以确定是否可能存在错误释放的对象:应用程序池是否频繁进行回收,尤其是在负载过重的情况下(假设应用程序池被设置为在达到内存阈值时进行回收)?内存阈值应该在 800 MB 到 1.5 GB 之间,假设 RAM 至少为 2 GB。如果将应用程序池回收设置为在较接近 1 GB 时发生,则效果最佳,但是请根据试验来确定最适合您的环境的设置。如果回收设置太低,则系统可能因应用程序池频繁进行回收而遇到性能问题。如果设置太高,则系统可能会因页面交换、内存碎片和其他问题而遇到性能问题。系统性能是否低下,尤其是在负载过重的情况下?当内存使用量开始增加时,系统必须进行补偿,例如,通过对内存进行分 阅读全文
posted @ 2011-02-11 17:42 赏梅斋 阅读(416) 评论(0) 推荐(0) 编辑

摘要:Microsoft SharePoint Foundation 2010 和 Microsoft SharePoint Server 2010 对象模型中的对象可用作处理 SharePoint Foundation 数据的接口。开发人员经常调入对象模型以从 SharePoint Foundation 2010 和 SharePoint Server 2010 数据存储中读取数据或向其中写入新数据。SharePoint Foundation 2010 和 SharePoint Server 2010 对象模型包含实现 IDisposable 接口的对象。使用这些对象时必须采取防范措施,防止它们长 阅读全文
posted @ 2011-02-11 17:40 赏梅斋 阅读(473) 评论(0) 推荐(0) 编辑

摘要:许多开发人员都使用 Microsoft .NET Framework 缓存对象(例如 System.Web.Caching.Cache)帮助更好地利用内存并提高总体系统性能。但是,许多对象都不是“线程安全的”,缓存这些对象会导致应用程序失败,并导致意外或无关的用户错误。缓存数据和对象缓存是提高系统性能的一种很好的方法。但是,您必须根据线程安全性的需要权衡缓存的好处,因为有些 SharePoint 对象不是线程安全的,缓存会导致它们行为异常。缓存非线程安全的 SharePoint 对象您可能会尝试通过缓存从查询返回的 SPListItemCollectio 阅读全文
posted @ 2011-02-11 17:36 赏梅斋 阅读(718) 评论(0) 推荐(0) 编辑

摘要:当文件夹和列表的大小增加时,您必须设计处理它们的自定义代码以优化性能。否则,您的应用程序将会运行缓慢,并可能引起服务或页面加载超时。处理大文件夹和列表时主要需要关注以下两个方面:查询限制,随着时间的推移,当您的网站不断发展并且您的查询开始返回超过查询阈值的项目时,这会引发您的代码行为发生不可预测的意外更改。 从大文件夹和列表中高效检索项目。 为了解决这两个问题,您必须了解对象模型是如何与文件夹和列表交互的。大列表查询的限制Microsoft SharePoint Foundation 2010 和 Microsoft SharePoint Server 2010 应用 5,000 个项目的默认 阅读全文
posted @ 2011-02-11 17:26 赏梅斋 阅读(939) 评论(0) 推荐(1) 编辑

摘要:如果使用 SharePoint 对象模型编写自定义解决方案,应该注意与性能、可扩展性和可伸缩性相关的常见问题。本主题可以帮助您有效地对现有 SharePoint 应用程序进行故障排除并提高其性能,或者编写新 SharePoint 应用程序。在这两种情况下,都需要了解如何使 SharePoint 对象模型高效地工作,以及如何将常规编程技巧专门应用于 SharePoint 平台。使用SPQuery对象设计合理的查询可以帮助您避免随着时间的推移而可能出现的性能问题,因为网站的列表和文件夹数目会不断增加。以下技巧可以帮助您尽可能最高效地使用 SPQuery 对象。使用界定的 SPQuery 对象。Ro 阅读全文
posted @ 2011-02-11 17:09 赏梅斋 阅读(1156) 评论(0) 推荐(0) 编辑

摘要:(一)在SharePoint3.0管理中心中修改“替代访问映射”:1、进入SharePoint管理中心2、选择“操作”选项卡3、全局配置 点击“备用访问映射”链接4、把访问映射链接改变成使用新的服务器名称的URL(二):用stsadm命令中的renameserver选项:1、进入命令行操作界面(开始菜单--->运行---... 阅读全文
posted @ 2010-05-23 10:11 赏梅斋 阅读(354) 评论(0) 推荐(0) 编辑

摘要:如果你想在MOSS中自定义列表或文档库中的上下文菜单,可以使用CustomAction的Feature来实现,也可以直接在页面上加一个内容编辑器(包括特定的一段Javascript)来实现,比如: 个人感觉后面一种方式很有趣,灵活性较大。搜索了一下,发现两篇关于实现的方法,一中一英,呵呵,希望对你有所帮助。 用javascript自定义SharePoint文档库/列表项菜单 http://... 阅读全文
posted @ 2007-12-27 18:21 赏梅斋 阅读(630) 评论(0) 推荐(0) 编辑

摘要:上一篇中,为镜像站点配置好了Form验证,即发现用户登录后没有管理权限,下面我们就为他重新设置一下权限。 1. 首先,我们要打开管理中心的站点主目录,修改其web.config文件。按照上一篇中的做法,把和节做与镜像站点同样的修改。 2. 然后进入管理中心界面,在“应用程序管理”界面中点击“Web应用程序的策略”。 3. 在“Web应用程序的... 阅读全文
posted @ 2007-11-22 18:17 赏梅斋 阅读(1351) 评论(1) 推荐(1) 编辑

摘要:上一篇中,我们为站点的镜像81端口的Web应用设置了新的Form验证提供程序,下面我们还需要修改其Web.config文件,使其设置的提供程序可以被使用。 1.进入磁盘中81端口Web应用的主目录。 2.修改Web.config前,先复制一份做为备份。 3.然后,我们来使用visual studio2005来对其web.config文件进行修改。 ... 阅读全文
posted @ 2007-11-20 21:06 赏梅斋 阅读(1792) 评论(0) 推荐(0) 编辑

摘要:上一篇随笔中,完成了扩展现有Web应用的步骤,这一篇中,我们将为新扩展的Web应用配置验证方式。 1.进入“管理中心”的“应用程序管理”界面,点击“应用程序安全性”节中的“验证提供程序”。 2.在“验证提供程序”配置管理界面中,我们可以发现列表中除了默认的提供程序外,还多了一个区域叫“Intranet”的提供程序。 3. 点击“Intranet”,将进入“... 阅读全文
posted @ 2007-11-20 20:18 赏梅斋 阅读(1503) 评论(0) 推荐(0) 编辑

摘要:一个老朋友打电话来说,他们的客户那里,有一部分机器是加入域的,而另一个部分机器是未加入域的,所以希望既可以使用Windows集成验证方式也可以使用Form验证方式登录MOSS站点。 在这里我把配置的过程写下来,供他与大家参考。 整个配置过程分三部分:一、扩展Web应用;二、设置验证方式;三、修改Web.config文件。为了减少打开页面时加载的时间,我把整个过程分成三篇随笔。... 阅读全文
posted @ 2007-11-20 19:55 赏梅斋 阅读(2121) 评论(1) 推荐(0) 编辑

摘要:Site Title Level Language ... 阅读全文
posted @ 2007-07-11 16:36 赏梅斋 阅读(3173) 评论(4) 推荐(0) 编辑

摘要:1. 首先创建一个Field 项目CustomFields. 2. 添加三个类文件:FieldAddressValue.cs ,FieldAddress.cs,AddressFieldControl.cs三个文件. 1) FieldAddressValue.cs源代码如下: using System;using System.Collections.Gener... 阅读全文
posted @ 2007-04-15 16:23 赏梅斋 阅读(1906) 评论(3) 推荐(0) 编辑

摘要:MOSS2007的自定义字段类型是一个非常有用的功能,但在网上相关的实例介绍很少,所以下面就一步一步地介绍怎样来创建一个自定义字段类型,我们的目标是:实现一个具有可配置性的下拉列表框,其选择项目是读取XML文件获得。 实现一个自定义字段类型主要需要完成三种文件的编制:1)定义类型的XML文件;2)定义展现模板*.ascx文件;3)定义后台代码程序集。 这里因为我们想要实现一个可读取XML文件的下拉... 阅读全文
posted @ 2007-03-15 12:20 赏梅斋 阅读(8253) 评论(25) 推荐(1) 编辑