匯出 (0) 列印
全部展開

作法:將服務裝載於存取服務匯流排的 Azure 上

更新日期: 2015年2月

建立在 Microsoft Azure 上執行的服務應用程式,會遵循 Azure 和傳統服務匯流排應用程式的程式設計模式:您定義和實作服務合約、設定端點、建立認證,然後啟動主機。完成之後,您停止主機。不過,請注意,當您在 Azure 中建立服務時,有二個唯一問題:

  • Azure 未將 服務匯流排 和 存取控制 設定資訊儲存至 Machine.config 檔案

    因為 Azure 未安裝 Azure SDK,所以 Azure 電腦上的 Machine.config 檔案沒有 服務匯流排 繫結或端點的資訊。如前所述,Azure 安全性限制會讓您無法修改 Azure Machine.config 檔案。因此,有兩個選項可讓您的 服務匯流排 應用程式可以使用 服務匯流排 和 存取控制 設定資訊。

    1. 建議的解決方案是使用 服務匯流排 API 透過程式設計方式設定應用程式。例如,雖然您可以在 App.config 檔案中儲存名稱和密碼資訊,但是你會透過程式設計方式設定任何轉送繫結設定。如需以下內容的詳細資訊 透過程式設計方式進行設定,請參閱設定要向服務匯流排登錄的 WCF 服務

    2. 第二個解決方案是新增所有相關資訊,以手動方式修改應用程式的 App.config 檔案。完成之後,您可以使用 App.config 檔案來設定繫結和端點。若要這樣做,您可以查看已安裝 Azure SDK 之電腦上的 Machine.config 檔案、尋找所有 Azure 相關設定資訊,以及將它們複製到應用程式 App.config 檔案。雖然這可讓您在主機服務上使用 App.config 檔案,但是會變得不容易測試程式碼:在已安裝 Azure SDK 的本機測試電腦上,Machine.config 檔案可能會發生重複問題。因此,建議您使用前一個選項,並透過程式設計方式設定所有項目。

  • 服務匯流排服務匯流排必須具有「完全信任」授權才能在 Azure 上執行

    與所有其他 服務匯流排 應用程式一樣,您必須確定使用「完全信任」授權來執行作業系統。這可以使用下列程序設定於 Azure 專案的 ServiceDefinition.csdef 檔案中。

  1. 在 [方案總管] 的 [WorkerRole] 或 [WebRole] 節點底下 (視程式碼的所在位置而定),將 [Microsoft.ServiceBus.dll] 組件新增至 Azure 專案作為參考。

    此步驟是新增組件參考的標準程序。

  2. 在 [參考] 資料夾中,於 [Microsoft.ServiceBus] 上按一下滑鼠右鍵。然後按一下 [屬性]。

  3. 在 [屬性] 對話方塊中,將 [複製本機] 設定為 [True]。

    這樣做可確定在 Azure 上執行時,已將 Microsoft.ServiceBus.dll 組件複製到本機 \bin 路徑,而且可供應用程式使用。

  1. 在專案的 ServiceDefinition.csdef 檔案中,將 enableNativeCodeExecution 欄位設定為 "true" (如下列程式碼所示)。將 "ApplicationNameHere" 取代為應用程式的名稱:

    <?xml version="1.0" encoding="utf-8"?>
    <ServiceDefinition name="ApplicationNameHere" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
      <WebRole name="WebRole" enableNativeCodeExecution="true">
        <InputEndpoints>
          <!-- Must use port 80 for http and port 443 for https when running in the cloud -->
          <InputEndpoint name="HttpIn" protocol="http" port="80" />
        </InputEndpoints>
      </WebRole>
      <WorkerRole name="WorkerRole" enableNativeCodeExecution="true">
      </WorkerRole>
    </ServiceDefinition>
    
    

顯示:
© 2015 Microsoft