2013-05-06 109 views
1

我在C#中開發了VS2008中的Web服務。該服務查詢SQL Server Express 2012數據庫並返回結果。當我在本地開發系統上測試服務時,它工作正常。在Azure虛擬機上部署基於sqlserver的webservice

現在我有一個Windows Azure試用帳戶,並且我希望將此服務部署在虛擬機上。

1-我嘗試使用SQL Server和Visual Studio創建虛擬機,但無法在其中創建服務。 VS在那裏沒有Web服務模板。

2-我嘗試在我的開發系統上創建部署軟件包,並試圖安裝該服務,但它也沒有工作。

請建議您完成此任務的正確方法。我對所有這些概念都非常陌生,因此可能我缺少一些基本信息,並且一步一步的指導不會受到傷害。

+0

它是什麼樣的服務?它是使用「WebMethod」屬性的ASP.NET Webservice,還是已經成熟的WCF數據服務? – 2013-05-06 07:40:27

+0

爲什麼在2013年開發VS2008中的Web服務?所有使用Azure的工具都在VS2012(或VS2010中,但由於您迫切需要更新,您可能還需要進行全部操作)。 – 2013-05-06 08:48:04

回答

1

我不知道你做了這樣的說法,而是創造與MS SQL後端雲託管的Web服務的最簡單的方法是:

  1. Azure Management Portal創建a new instance of SQL Azure
  2. 創建a new database(可能是您的案例中的網絡版)。
  3. 使用來自門戶和Azure SDK的連接字符串來開發在Azure上託管的ASP.NET應用程序(Web角色)。只要您在SQL Azure實例上設置防火牆,以便從外部IP進行入站連接,就可以用類似於測試當前ASP.NET應用程序的方式在本地測試此應用程序。 (here是前三步的分步教程)
  4. 創建a new instance of cloud service in Azure management portal
  5. 直接從Visual Studio將應用程序部署到雲中。不過,您至少需要Visual Studio 2010,而Express Edition已經可以做到了。

更新:作爲Mark Rendle的評論和his answer建議,也沒有必要,只要你的服務是重量輕,不創建一個單獨的雲實例唯一的數據抓取Cloud實例會但是,如果您的服務需要數據處理或其他邏輯需要長時間運行的流程),這一點至關重要。

或者,您可能想要使用Azure Mobile services,它已經爲SQL Azure提供了可能會執行的Web服務。這是一個完全基於REST的Web服務,您只需要在JavaScript中編寫一些邏輯,類似於Node.js實現。有關此問題,請參閱an excellent tutorial

+0

雲服務不再是在Azure中託管東西的最簡單方式。 – 2013-05-06 08:59:49

+0

@MarkRendle:您使用Azure網站的建議是另一個不錯的選擇(我必須承認我一開始就忽略了它),但它需要完整的服務邏輯才能在IIS中運行。對於輕量級的「GetThatData」服務來說,這是非常好的,但只要需要更多的處理,就可能會遇到性能問題...... – 2013-05-06 09:07:20

+0

是的,我使用Web站點來處理長時間運行的HTTP進程和後臺Worker角色。我認爲通過網站發生的最大的事情是將文件上傳到Blob存儲。 – 2013-05-10 23:07:10