答案 0 :(得分:0)
通常的方法是使用xcopy或visual-studio中的发布函数替换所有内容,在某些情况下,替换所有内容是唯一的方法 - 例如,如果您使用的是Web应用程序项目模型,则所有内容都会被打包成一个单一组装,你去 - 即使应用一个小的改变,你将不得不重新部署整个事情。
替代方案可能是visual studio中的网站模型,您可以使用该模型在服务器上部署单个代码文件,如果从IIS管理工具重新启动网站,则应该拾取它们。事实上,与Web应用程序项目模型相比,该模型以不同的方式工作。它只是一堆将由ASP.NET运行时动态编译的代码文件。
即使可能 - 我也不会建议部署单个文件的方法 - 因为这很容易出错(您部署代码隐藏并且很容易忘记部署aspx对应文件或类似文件)。除非你通过慢速网络传播Gigs的东西,否则重新部署整个东西总是最安全的选择。
答案 1 :(得分:0)
这在很大程度上取决于您如何构建应用。
如果您在VS中并且正在使用ASP.Net站点,那么您可以将其作为网站项目或Web应用程序项目。
在前一种情况下,您的文件将保留为aspx和.aspx.cs文件以及xcopy(或FTP),无论哪个文件发生更改。如果您希望逻辑超出单个页面的范围,您可以创建一个单独的类库项目,也可以使用App_code目录。
在后一种情况下,您将所有逻辑编译为一个或多个.dll文件,这些文件将被复制到您站点的/ bin目录中,以及任意数量的aspx文件可以保留或嵌入(建议离开)他们作为aspx文件)。同样,如果aspx文件发生更改,您只需移动更改的文件,如果dll中的任何内容发生更改,则替换整个dll。
所有这一切,你发布的网站上的大部分内容可能都被从数据库中删除了。大多数网站现在都没有页面上的内容,他们只是在paes上有组织(视图)逻辑,并且有其他类从数据库中提取实际内容以提供服务。这允许更大的重用,并且意味着MSDN上的4,000个页面(随机选择的数字)不必每个都作为HTML页面单独编码。
答案 2 :(得分:0)
谷歌搜索后,我认为,Visual Studio的发布网站表单中的复选框使用固定命名和单页程序集是正确的选择。
虽然它可能会让事情变得缓慢......