哪些SharePoint开发概念对ASP.Net开发人员来说最难理解?

Gre*_*man 8 asp.net sharepoint sharepoint-2007 sharepoint-2010

我正在尝试为经验丰富的ASP.Net开发人员整理SharePoint 2007(以及最终,2010年)培训材料,并且已经完成了多年的SharePoint,我真的不记得开始时最糟糕的关键点 - 不是提到Googlable SharePoint内容的数量比两年前高出一个数量级.

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

Sea*_*ugh 8

格雷格

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

这是我投票支持"对于刚开始崭露头角的新手SharePoint开发人员而言":-)

物有所值!


Per*_*sen 8

我最难掌握的事情清单是:

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

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

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

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

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

  • 解决方案/功能
  • 所有占位符都在masterpages中


Ale*_*gas 7

*缺乏控制*

这是Per Jakobsen提到的关键问题.继续......

  1. 无论您想在哪里,都无法进入并编辑.aspx和.master文件.存在诸如unghosting,支持等后果,并且它通常不会像预期的那样起作用.很好地理解SharePoint如何组合页面至关重要.

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

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

  4. 有点偏离主题,但HTML标记和CSS在2003年是一场噩梦,在2007年并没有好多少.与之合作并不是很漂亮.您必须竭尽全力制作完全符合Web标准和最佳实践的网站.

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

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

有关此问题的更多讨论,请参阅ASP.NET开发人员为何不使用WSS?在SharePointDevWiki上.

  • +1,特别是对于"你是什么意思我无法触摸数据库?!?!" 点.SharePoint与这样一个复杂的相互依赖的网络交织在一起,它可能在国家电视台播放它自己的日常肥皂剧:-) (4认同)