代码之家  ›  专栏  ›  技术社区  ›  Greg Hurlman

哪些SharePoint开发概念是ASP.NET开发人员最难理解的?

  •  8
  • Greg Hurlman  · 技术社区  · 15 年前

    我正在为经验丰富的ASP.NET开发人员准备SharePoint 2007(最终是2010年)培训材料,在做了多年的SharePoint之后,我真的不记得最糟糕的症结在哪里——更不用说googlable SharePoint内容的数量比两年多了一个数量级。以前。

    这就是说,什么SharePoint概念最难掌握,和/或SharePoint的哪些部分足够深奥,以致于新手SharePoint开发人员不太明显?

    7 回复  |  直到 14 年前
        1
  •  8
  •   Sean P. McDonough    15 年前

    格雷戈

    以我的经验,签发与适当的物品处置有关的文件( SPWEB 斯派斯特 依次引用的对象 请求 围绕非托管COM对象的包装器)是常见的gotcha,也是许多可伸缩性、性能和其他编码问题的根源。一旦微软意识到这个问题的规模和开发者在这个领域的困惑程度,他们就写了一篇大型的指导文章。( http://msdn.microsoft.com/en-us/library/aa973248.aspx )开发了spdisposecheck工具( http://code.msdn.microsoft.com/SPDisposeCheck )

    这是我对“新手不明显的”的投票,SharePoint开发人员只是在“:-”

    为了它的价值!

        2
  •  8
  •   Per Jakobsen    15 年前

    我最难掌握的事情是:

    • 代码访问安全和所有 其他安全功能
    • 站点/应用程序之间的差异 页面和自定义/未自定义 页
    • 在两个查询和所有 定义
    • SharePoint中已有的内容,因此您 不要重新发明轮子
    • 放弃控制。

      您无法控制哪些Web部件 以及它们的连接方式。 你应该让他们能够 重新使用

      你不能控制哪个列表在 站点或包含哪些字段

    • 缺乏对多重性的支持 语言
    • 如果您 从spContext.current获取它们
    • 委派控件

    其他新事物,但似乎更容易理解的是:

    • 解决方案/功能
    • 母版页中的所有占位符
        3
  •  7
  •   Community CDub    8 年前

    *缺乏控制*

    这是关键问题,因为 Per Jakobsen mentions .继续前进…

    1. 不可能只在任何你想编辑的地方去编辑.aspx和.master文件。会有一些后果,如取消托管、支持,而且通常不会像预期的那样工作。很好地理解SharePoint如何组合页面至关重要。

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

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

    4. 有点离题了,但是HTML标记和CSS在2003年是一场噩梦,而在2007年就没那么好了。工作很痛苦,也不漂亮。您必须尽最大努力来创建一个完全符合Web标准和最佳实践的站点。

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

    在整个产品中也有gotchas( Sean mentioned a key one )像小绊脚石一样潜伏着。了解和理解它们的唯一方法是了解SharePoint,这是一个 大的 产品。

    有关此问题的更多讨论,请访问 Why don't ASP.NET developers use WSS? 在SharePointDevwiki上。

        4
  •  4
  •   guangming    15 年前

    SharePoint中已有的内容,因此您不必重新设计方向盘。我投赞成票。

        5
  •  3
  •   DJ.    15 年前

    Per已经覆盖了我的大部分关卡,不过我还将添加一些:

    1. spContext-conecptural代码执行的概念,例如事件接收器中的spContext.current或properties对象。

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

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

    4. Visual Studio工具-wspbuilder、vs tools for sharepoint等。通过缩短集成周期来减少部署和调试的痛苦。

        6
  •  0
  •   ajitdh    15 年前

    使用SQL Server Reporting Services针对实际问题创建报表/仪表板,并在SharePoint网站中显示。网上找到的例子/教程的数量,不管这件事还是不够的(我猜)。

        7
  •  0
  •   Francois Verbeeck    14 年前

    与现实世界架构和实现相关的一切。我是一名开发人员,但如果我想在虚拟环境中拥有尽可能接近的客户机环境,而不需要等待正式的IT支持,我就得把手弄脏。尝试创建具有Intranet、Internet、Extranet、混合身份验证机制、备用访问映射、主机头配置等的小型服务器场。这是一项全力以赴的工作,但如果你想开发一些中到大规模的实现,就必须深入研究。