8

假设我创建了一个自定义 Web 应用程序,其中包括:

  • 几个程序集 DLL:Web 应用程序、业务逻辑、数据服务
  • 多个 aspx 页面和使用它们的 ascx 自定义控件
  • 自定义配置部分
  • 自定义 HTTP 模块

或多或少是平常的东西。

我想将它部署到某个子文件夹下的特定共享点站点。因此,如果我通过http://myserver:90/访问我的共享点站点(因为我没有使用站点/some_site),我希望我的应用程序在http://myserver:90/webapp下可用

我可以手动添加一个虚拟文件夹(不是应用程序,因为我需要访问一些 Sharepoint 站点的数据)到我在 IIS 中的共享点站点并手动编辑站点的web.config文件以注册我的 HTTP 模块并添加我的自定义配置部分以及将我的 DLL 放入GAC 或将它们放在 _app_bin 中(所以我对 CAS 没有问题),但我认为这不是一件好事,因为这个 Web 应用程序可能会部署在不应该/不能的环境中不可能。

所以我想我可以使用 Visual Studio 2010 构建一个 WSP 并以这种方式部署它。但我没有足够的经验这样做。

我创建了一个新的 sharepoint 2010 项目。有没有办法一次添加所有不可执行的应用程序文件(aspx、ascx)?我已经看到了WSP 包的高级选项卡,我可以在其中将我的 DLL 添加到 bin 文件夹或 GAC。我不知道我是否还必须添加任何安全控制并注册某些类?

所以我想我需要一些非常详细和解释性的指导。

4

1 回答 1

4

唯一真正做到这一点的方法是使用 layouts 文件夹通过 wsp 部署您的应用程序。这将允许您存储通常使用 .web 应用程序部署的任何文件。

然而,有几个问题。您的应用程序的 URL 将是http://SharePoint/somesite/_layouts/yourapp

这是福也是祸。您的网址会很丑陋,但它们可以在每个 SharePoint 网站下使用。如果您的应用程序依赖于 SharePoint 上下文来运行,则该上下文将根据请求 URL 自动可用。

要在共享点项目下添加布局文件夹,请右键单击项目并将映射文件夹添加到布局。我还建议在您的应用程序的布局下添加一个子文件夹,以便您的应用程序文件不会直接与布局文件夹中的默认文件冲突。

对于 http 模块或任何 web.config 修改,您可以使用 spwebconfigmodification 类。

这是一个演练: http ://sharepointsolutions.blogspot.com/2006/12/using-spwebconfigmodificat_116736917110571614.html

于 2011-03-05T18:03:05.170 回答