2011-03-21 158 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用在我的博客這個任務。

相關問題