向SharePoint 2007提供ASP.Net 3.5功能的可支持选项有哪些?

时间:2009-05-29 02:14:38

标签: wcf sharepoint asp.net-3.5

我想在SharePoint 2007中使用一些ASP.NET 3.5功能。特别是,我想要执行以下操作:

  • 通过HTTP提供REST和JSON,以便其他产品可以使用SharePoint内容。
  • 在SharePoint中提供AJAX Web部件。这些可能几乎没有服务器端控件。大多数内容将使用Javascript加载,并通过提供REST或JSON的HTTP命中外部系统(主要不是SharePoint)。
  • 将此功能作为产品提供。这不是单一实施的一次性解决方案。

我主要担心的是IT团队的推迟,他们不想改变他们的SharePoint环境以允许产品运行。所以,我更愿意能够说我正在做的事情是“微软支持”,但我不确定是否会出现这种情况。

我意识到我可以在SharePoint服务器上为为外部应用程序提供SharePoint数据的WCF端点创建一个单独的(非SharePoint)网站。我宁愿不这样做,因为这不会帮助我的网页部分(如果他们需要帮助),这会使部署更加困难。正确的SharePoint部署将自动让SharePoint更新添加到服务器场的任何新Web前端上的所有必需文件(例如,web.config),这不会遵循该模式。另外,我失去了使用SPContext.Current的能力。

我已经阅读了Daniel Larson关于Developing Service-Oriented AJAX Applications on the Microsoft Platform(好读,BTW)的书,特别是。第11章关于扩展SharePoint。他概述了WCF,ASMX和HTTP Handler选项,并且大部分都推荐了HTTP Handler选项。看起来HTTP Handler选项对web.config的修改很少。

我还在SharePoint as a WCF HostSharePoint 2007 and the Thin .NET 3.5 Development ModelHow to: Get up and running with .NET 3.5 in your SharePoint environmentEnabling .NET 3.5 in SharePoint 2007 Sites, the Lazy Way上看到过博客。以及SharePoint 2007 Features CodePlex Project中的“Silverlight(.NET 3.5)配置功能”(甚至可能是“Ajax.Config功能”)。似乎所有这些选项都对web.config进行了一些相当大的改动,并且潜在客户可能无法接受。

对此有何意见?如果我想使用AJAX Control Toolkit(我以前在SharePoint中使用过这个,但它已经有一段时间了)呢?

请注意,如果有帮助,我们可能需要SharePoint SP2,但我认为不会。

另请注意,Silverlight不是SharePoint Web部件的要求,但允许它可能会很好。

2 个答案:

答案 0 :(得分:2)

您的第一点可以通过SharePoint Web服务的自定义包装器来解决,它呈现您要呈现的API,而不是通用Web服务。

您的第二点,即已启用AJAX的网页和网页部件已经成为可能 - how to enable AJAX in SharePoint.

答案 1 :(得分:1)

.NET 3.5在SharePoint中受支持(截至SP1我认为),但是你无法摆脱在服务器上进行web.config更改和安装.NET 3.5 - 它可能只会在那里已经使用的AJAX Web部件。

除此之外,您所看到的内容在很大程度上独立于SharePoint - 如果您可以将某些内容构建为aspx页面或asmx Web服务,则应该能够将其部署到SharePoint站点。

如果您想完全避免3.5安装问题,您应该能够构建完全独立的东西 - 用于Web部件的jQuery(不需要服务器端组件)以及从sharepoint获取数据构建可以将调用转换为标准Web的内容服务进入更友好的界面。