2012-03-22 86 views
1

我工作在Windows Azure網站下面的教程時錯誤:
https://www.windowsazure.com/en-us/develop/net/tutorials/web-app-with-sql-azure/ASP.NET MVC Web應用程序 - 部署到生產

(也:去到windowsazure.com,點擊「開發」標題,在「創建你的第一個應用程序」下的語言下點擊「.Net」 - 點擊ASP.NET MVC Web應用程序與SQL Azure)

我可以運行我的開發機器上的Windows Azure仿真環境中的應用程序。如果我將連接字符串更改爲生產數據庫,應用程序在本地開發環境中工作

但是,當我將應用程序部署到Azure時,出現錯誤消息:「對不起,處理您的請求時發生錯誤。」這顯示在一個呈現的頁面中,所以我認爲請求正在進入ASP.NET。

我相信我遇到的問題是允許Azure上的生產應用程序連接到SQL Azure數據庫。

我認爲這是一個防火牆問題,但一直未能確定什麼IP範圍需要。 (我以前認爲這個問題會在32位環境中運行VS 2010,Windows Azure是64位環境,但我們從64位環境部署了示例應用程序,並且具有相同的問題)。有關更多詳細信息,這裏是我之前在MSDN上發佈的關於同一問題的上一個問題:http://social.msdn.microsoft.com/Forums/en-US/windowsazuretroubleshooting/thread/23afb5e3-e2ee-4444-aabb-7001ae6c6e6a/#af5284c0-ef4b-4193-b912-d4b7adfb5d21

感謝您提供任何幫助。我真的希望這個示例應用程序工作!

+0

你有沒有嘗試'通過'來獲得錯誤描述? – veblock 2012-03-22 20:47:09

回答

0

enter image description here正如@veblock所示,您可以嘗試關閉自定義錯誤以查看實際錯誤。

同時,所求的啓用防火牆規則,爲你的角色的「IP地址範圍」只是一個複選框遠:

你只需要檢查「允許其他Windows Azure服務訪問此服務器」複選框。將自動添加IP範圍爲「0.0.0.0 - 0.0.0.0」的條目「Microsoft Services」。這是一個內部條目,Microsoft會跟蹤他們自己的IP範圍,以便任何Windows Azure數據中心都能夠訪問此SQL Azure服務器。

但是,是的,您也可以通過遠程桌面到實例或禁用自定義錯誤來檢查真實的錯誤消息。 ASP.NET MVC還沒有完全安裝在Azure實例中的可能性很小。通過右鍵單擊Web應用程序項目並選擇「添加可部署的依賴項」,然後選擇ASP.NET MVC,消除此問題的最簡單方法是。

1

更新:得到了指導不同的計算機和新的64位配置,指向不同的數據中心的教程。

我在一臺裝有64位Windows 7 Home Premium的新筆記本電腦上安裝了Visual Studio Developer 2010 Express,並安裝了所有最新的Azure和MVC SDK。看起來像我認爲的防火牆問題,可能是北中央數據中心數據庫連接問題。 (我在猜測,而且仍然需要根據南中央數據中心測試我的原始配置,看看實際情況是否如此。但是,朝鮮中央數據中心並不是舉辦一個SQL Azure數據庫(3個月的訂閱)的可用選項,並在這裏對這個討論的鏈接在另一個線程:

http://social.msdn.microsoft.com/Forums/da-DK/ssdsgetstarted/thread/7b181eef-ccd1-4090-80d1-0853059d166f

正如上面提到的,需要選中「允許其他Windows Azure服務訪問此服務器」複選框,並且服務和數據庫都需要位於同一個Windows Azure數據中心中。

0

謝謝您的幫助。我也遇到了這個問題,並花了幾個小時來調試正在進行的一切,因爲在Emulator中按照預期工作,但在生產中不起作用。將我的託管服務和數據庫服務器移到同一區域後,問題就消失了。

在原來的樣品,也有人指出,重要的是要確保兩者在同一個區域,但它提到,由於只有性能方面的原因,但對我來說它不會在所有的工作。

「 重要:。選擇您之前選擇在部署應用程序時,這會給你最好的表現在同一區域 」