2009-09-28 34 views
2

我有一个ASP.Net Web应用程序,部署到许多不同客户的服务器并托管在IIS(6或7取决于站点)中。该系统基于一组相当复杂的ASP.Net(aspx)页面。由于需求变化迅速,我们经常需要向系统添加表单。目前,我们使用一种相当笨拙的方式将表单添加到项目中,并将整个项目重新部署到客户服务器。向现有已部署的ASP.Net Web应用程序添加ASP.Net表单

我期待构建一个机制,允许我们进入我们系统的配置屏幕,并调用托管在我们中央Web服务器上的Web服务,它将提供一个表单列表(可能以某种方式打包到一个Java WAR文件),客户可以选择安装。安装程序会以某种方式将表单添加到客户的IIS中,以使其在系统中可用。我们的想法是针对一种aspx表单应用商店,我们的客户可以选择他们需要的表单并安装它们,而不是我们不得不抽出时间执行多次部署,我们只需将其部署到我们的中央Web服务器。

有没有人有关于如何做到这一点的任何想法?我可以用什么技术来实现这一点?

回答

2

如果您在使用Web应用程序项目,这不是那么容易的事,因为所有形式的“代码隐藏”将被编译成一个DLL。每次添加新表单时,站点应用程序程序集都需要重新部署到/bin文件夹。

如果您正在使用“新风格”的项目少的Web应用程序在Visual Studio 2005中引入它会也许有可能你在寻找什么,因为你可以在每个页面编译成自己的DLL(修复Publish Web Site对话中的命名和单页装配)。我过去曾尝试过这种方式,说实话,这有点让人失望。也没有一个适当的项目文件是一个更大的更复杂的项目的痛苦。

另一种方法是将所有标记和'代码隐藏'放在同一个.aspx文件中,而不是具有.aspx.cs代码隐藏文件。我认为这会让他们自成一体的代码单元可以即时编译,但这里的问题是,所有的网站都需要以这种方式构建......我想。

这些是Visual Studio(2008)提供的开箱即用方法。如果你需要更复杂的东西,那么你将不得不设计一些基础设施,以使它不幸发生。

+0

谢谢你,我怀疑我不得不建立一些东西,但想要有人确认,所以我不觉得我正在'重新发明轮子'! – colethecoder 2009-09-30 10:09:43

0

您似乎有兴趣找到一种方法来部署更改!仅部署更改通常不是一个好主意,因为很容易错过一两个文件,然后整个应用程序崩溃。我认为您应该更多地关注构建和部署自动化,这将帮助您使用单击按钮部署到多个服务器。

+0

我看到你在说什么,但我想要的是让客户能够下载他们需要的表单,而不是将所有表单部署到每个表单,因此像应用程序商店一样功能。构建和部署自动化不会帮助我做到这一点。 – colethecoder 2009-09-29 07:49:25

1

其实你不必当你justing更改或添加Web表单到现有的预申请,以重新部署整个Web应用程序。照常发布网站,然后抓住已添加的.aspx页面等。现在,抓取添加,创建页面时触及的关联.dll。这可能与网站.dll一样简单,或者您可能包含busines .dll和一个数据访问.dll。但绝不要在大多数文件未被更改时移动所有文件。

对于使用此系统的预配置设置,您可以使用像nAnt这样的工具并创建一个构建脚本,该脚本将构建所需的文件,然后将这些文件打包成一个自解压zip文件,该文件将放置文件,.dlls到目标Web服务器上的正确路径。

上帝与你的项目运气,并希望这有助于一些。

相关问题