7

我正在尝试为经验丰富的 ASP.Net 开发人员整理 SharePoint 2007(以及最终的 2010)培训材料,并且从事 SharePoint 多年,我真的不记得一开始最糟糕的症结在哪里 - 不是提到 Google 的 SharePoint 内容的数量比两年前增加了一个数量级。

也就是说,哪些 SharePoint 概念最难掌握,和/或 SharePoint 的哪些部分深奥到足以让刚涉足的 SharePoint 新手开发人员不明白?

4

7 回答 7

8

我列出的最难掌握的事情是:

  • 代码访问安全性和所有其他安全功能
  • 站点/应用程序页面与自定义/非自定义页面之间的区别
  • 查询和所有定义中的 CAML
  • SharePoint 中已有的内容,因此您无需重新发明轮子
  • 放弃控制权。

    您无法控制页面上的哪些 Web 部件以及它们的连接方式。你应该让它们可以重用

    您无法控制网站上的哪些列表或它们包含哪些字段

  • 缺乏对多种语言的支持
  • 如果您从 SPContext.Current 获取 SPWeb 和 SPSite,请不要丢弃它们
  • 委托控制

其他新的但似乎更容易理解的东西是:

  • 解决方案/功能
  • 母版页中的所有占位符
于 2009-09-15T07:18:38.227 回答
7

格雷格,

根据我的经验,与正确的对象处理相关的发布(SPWebSPSite对象反过来引用非托管 COM 对象的SPRequest包装器)是一个常见的问题,也是许多可伸缩性、性能和其他编码问题的根源。一旦微软意识到这个问题的规模和开发者在这方面的困惑程度,他们写了一篇大的指导文章 ( http://msdn.microsoft.com/en-us/library/aa973248.aspx ) 并开发了 SPDisposeCheck 工具( http://code.msdn.microsoft.com/SPDisposeCheck )。

那是我对“对于刚刚涉足的 SharePoint 新手开发人员来说不明显”的投票 :-)

物有所值!

于 2009-09-15T01:22:21.380 回答
7

*缺乏控制*

这是Per Jakobsen 提到的关键问题。一路走来...

  1. 随心所欲地编辑 .aspx 和 .master 文件是不可能的。会产生一些后果,例如取消重影、支持,并且它通常无法按预期工作。很好地理解 SharePoint 如何组成页面是至关重要的。

  2. 没有(受支持且可靠的)直接查询数据库的方法。对于习惯于设计/使用专门构建和精心设计的数据库的 ASP.NET 开发人员来说,这非常令人沮丧。CAML 查询无法替代经过优化的 SQL 查询的强大功能。

  3. (更多的 2b):对列表之间的关系数据的支持很差。对于企业应用程序来说很奇怪。

  4. 有点离题,但 HTML 标记和 CSS 在 2003 年是一场噩梦,在 2007 年也好不了多少。使用起来很痛苦,而且也不漂亮。您必须不遗余力地制作一个完全符合 Web 标准和最佳实践的网站。

总而言之,事情通常需要以“SharePoint 方式”完成。这通常不是直接 ASP.NET 开发人员喜欢的最有效或最优雅的方式。开发人员喜欢优雅,他们喜欢放弃控制。

产品中也有一些陷阱(肖恩提到了一个关键问题),就像小绊线一样潜伏在毫无戒心的人身上。了解和理解它们的唯一方法是了解 SharePoint——它是一个产品。

请参阅为什么 ASP.NET 开发人员不使用 WSS?在 SharePointDevWiki 上。

于 2009-09-15T08:36:18.430 回答
4

SharePoint 中已有的内容,因此您无需重新发明轮子。我投票赞成这个。

于 2010-01-20T14:18:08.927 回答
3

Per 已经涵盖了大部分内容,但我将添加更多内容:

  1. SPContext - concptual 代码执行的概念,例如事件接收器中的 SPContext.Current 或 Properties 对象。

  2. 根据上下文,了解代码以谁的身份运行以及它可以完成哪些操作也很重要——提升(提升特权)、模拟(令牌)和执行(Web 服务/事件接收器)。

  3. 错误处理 - 当出现的唯一错误是“发生错误”时,每个人都会尖叫,因此了解 SP 日志和错误代码至关重要。这对于减少浪费时间追逐令人恼火的 XML 错误非常重要。

  4. Visual Studio 工具 - WSPBuilder、VS Tools for Sharepoint 等。通过缩短集成周期减少部署和调试的痛苦。

于 2009-09-16T09:19:57.837 回答
0

使用 SQL Server 的报告服务为现实世界的问题创建报告/仪表板,并将其显示在 sharepoint 站点中。网上找到的例子/教程的数量,这件事仍然不够(我猜)。

于 2010-01-27T17:26:09.940 回答
0

与现实世界架构和实现相关的一切。我是一名开发人员,但如果我想在我的虚拟环境中拥有尽可能接近的客户端环境,而无需等待官方的 IT 支持,我必须亲自动手。尝试使用 Intranet、Internet、Extranet、混合身份验证机制、备用访问映射、主机标头配置等创建一个小型场。这是一项完全专注的工作,但如果你想开发一些中型到大规模的实现,就必须深入研究。

于 2011-01-28T14:44:04.263 回答