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

也就是说,哪些 SharePoint 概念最难掌握,和/或 SharePoint 的哪些部分非常深奥,对于刚刚涉足的 SharePoint 新手开发人员来说并不明显?

有帮助吗?

解决方案

格雷格,

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

这是我投票支持“对于刚开始崭露头角的新手SharePoint开发人员不明显”。 : - )

为了它的价值!

其他提示

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

  • 代码访问安全性和所有其他安全功能
  • 站点/应用程序页面与自定义/未经定制的页面之间的差异
  • CAML在查询和所有定义中
  • SharePoint中已经有什么,所以您不会重新发明轮子
  • 放弃控制权。

    您无法控制页面上哪些Web零件以及它们如何连接。您应该只是使它们成为可能

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

  • 缺乏对多种语言的支持
  • 如果您从spcontext。
  • 委托控制

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

  • 解决方案/功能
  • 母版页中的所有占位符

*缺乏控制*

这是关键问题,因为 Per Jakobsen提到。继续......

  1. 无论您在何处,都无法进入并编辑.aspx和.master文件。有一些后果,例如unghosting,支持,并且它通常不会像预期的那样工作。很好地理解SharePoint如何组成页面至关重要。

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

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

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

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

    整个产品也存在问题(肖恩提到了一个关键的一个)像潜伏的小绊网潜伏着毫无疑问。了解和理解它们的唯一方法是了解SharePoint - 它是大型产品。

    有关详细信息,请参阅为什么ASP.NET开发人员不使用WSS? 在SharePointDevWiki上。

SharePoint中已有的内容因此您无需重新发明轮子。我为此投票。

Per已经覆盖了大部分关闭点,但是我会添加更多:

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

  2. 从上下文开始,了解代码运行的对象以及可以完成的操作也很重要 - 提升(提升权限),模拟(令牌)和执行(Web服务/事件接收者)

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

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

使用SQL Server的报告服务创建报告/仪表板以解决实际问题并在sharepoint站点中显示它。在线发现的示例/教程的数量没有这个问题仍然不足(我猜)。

与现实世界架构和实现相关的一切。我是开发人员,但如果我想在我的虚拟环境中尽可能接近客户端环境而不等待官方IT支持,我必须弄清楚。尝试创建一个具有Intranet,Internet,Extranet,混合身份验证机制,备用访问映射,主机头配置等的小型服务器场。这是一项完整的专职工作,但如果您想开发一些中型到大型的实施,您将不得不深入研究。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top