2011-03-21 128 views
1

我有一个关于如何通过使用一些简单的方法将网站及其引用的Web服务从开发环境部署到生产环境的问题。网络应用程序和Web服务部署在一起?

我们的部署结构基本上就像桌面 - >开发服务器 - >生产服务器。

现在,我创建了一个Web服务(刚刚入选例如MailingServices),我部署开发服务器,URL链接想:http://192.168.3.17:90/MailingServices.asmx

,然后我在那里的链接可能是像http://202.70.115.114:90/MailingServices.asmx其部署到生产服务器

现在我创建一个asp.net网站来使用这个邮件服务。

我在我的台式电脑上创建了这个网站,并添加了一个对MailingServices Dev链接的引用,它是http://192.168.3.17:90/MailingServices.asmx,然后我在网站上查到它的开发环境,这个阶段很好:网站开发参考Web Services Dev。

但是,如果将此网站部署到其生产服务器中,如何将该Web服务的url链接从其dev链接更改为实时链接?

我当前知道,当网站部署到生产服务器时,可以覆盖web.config文件中的链接,但asp.net在添加web服务引用时会生成其他一些XML文件,我也可以重写这些XML文件。

但是,我认为这不是一个简单而适当的方式来完成这项任务,所以我来问问你们有没有人提出这个建议?

很多谢谢。

编辑
开发环境:
服务器:Windows 2008
网站:ASP.NET 3.5/4.0,IIS6.0 +
源控制:2005 VSS,我们没有自动化构建&持续集成

+0

您是如何部署网站的? – 2011-03-21 05:00:59

+0

Hi Sayed Ibrahim Hashimi,我们也通过使用VSS来部署网站,这非常痛苦,但我无法改变它。 – 2011-03-22 06:09:22

+0

顺便说一句,您是“Microsoft Build Engine内部”的作者?我今天刚收到你的书。 :) – 2011-03-22 06:19:11

回答

0

如果你需要改变你的web.config部署,那么我建议你看看web.config transformations。通过这些转换,当您从VS内部发布时,转换将自动为您运行,但由于您似乎没有从VS部署,因此您需要执行一些工作来简化流程。以下是你需要什么概念做:

  1. 生成项目
  2. 准备好你的网站部署
  3. 变换的web.config文件
  4. 发布您的网站

对于步骤# 3你可以使用VS附带的TransformXml任务(当你选择要安装的Web时)。使用这个任务非常简单,下面是一个演示这个项目的示例项目。

<?xml version="1.0" encoding="utf-8"?> 
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <UsingTask TaskName="TransformXml" 
     AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/> 

    <Target Name="TransformWebConfig"> 
    <TransformXml Source="some\path\to\the\source\web.config" 
        Transform="some\path\to\the\web.transform.config" 
        Destination="some\path\to\the\dest\web.config" /> 
    </Target> 
</Project> 

我有一大堆的信息对在http://sedodream.com/SearchView.aspx?q=TransformXml用在我的博客这个任务。

相关问题