我想利用 SharePoint 2007 中的一些 ASP.NET 3.5 功能。特别是,我想执行以下操作:
- 通过 HTTP 提供 REST 和 JSON,以便其他产品可以使用 SharePoint 内容。
- 在 SharePoint 中提供 AJAX Web 部件。这些可能几乎没有服务器端控件。大多数内容将使用 Javascript 加载,并通过提供 REST 或 JSON 的 HTTP 访问外部系统(主要不是 SharePoint)。
- 将此功能作为产品提供。这不是单一实现的一次性解决方案。
我主要担心的是 IT 组不想改变他们的 SharePoint 环境以允许产品工作的回击。所以,我更愿意说我正在做的是“微软支持”,但我不确定情况是否如此。
我意识到我可以在 SharePoint 服务器上为向外部应用程序提供 SharePoint 数据的 WCF 端点创建一个单独的(非 SharePoint)网站。我宁愿不这样做,因为这对我的 Web 部件(如果他们需要帮助)没有帮助,而且会使部署更加困难。正确的 SharePoint 部署将自动让 SharePoint 更新添加到场的任何新 Web 前端上的所有必要文件(例如 web.config),这不会遵循该模式。此外,我将失去使用 SPContext.Current 的能力。
我已经阅读了 Daniel Larson 的很多关于在 Microsoft 平台上开发面向服务的 AJAX 应用程序的书(很好读,顺便说一句),尤其是。第 11 章关于扩展 SharePoint。他概述了 WCF、ASMX 和 HTTP 处理程序选项,并且在很大程度上推荐了 HTTP 处理程序选项。似乎 HTTP 处理程序选项对 web.config 的更改很小。
我还看到了有关SharePoint 作为 WCF 主机、SharePoint 2007 和瘦 .NET 3.5 开发模型、如何:在 SharePoint 环境中启动和运行 .NET 3.5以及在 SharePoint 2007 站点中启用 .NET 3.5 的博客,懒惰的方式。以及SharePoint 2007 Features CodePlex Project中的“Silverlight (.NET 3.5) Config Feature”(甚至可能是“Ajax.Config Feature”)。似乎所有这些选项都对 web.config 做了一些相当大的更改,潜在客户可能无法接受。
对此有何看法?如果我想使用AJAX 控件工具包(我以前在 SharePoint 中使用过,但已经有一段时间了)怎么办?
请注意,如果有帮助,我们可能需要 SharePoint SP2,但我认为没有。
另请注意,Silverlight 不是 SharePoint Web 部件的要求,但允许它可能会很好。