2012-12-17 47 views
4

我得到以下錯誤:Azure的雲中部署保持回收

Recycling (Waiting for role to start... Sites are being deployed. [2012-12-17T05:30:10Z])

Running One or more role instance is unhealthy. 1 Instance: 1 Unhealthy

實際上,我是想我的web應用程序轉換到雲的一個應用。

這裏是我做過什麼:

我加了一個雲項目到我的解決方案, 我添加了鏈接到我的web應用程序 我創建一個SQL Azure數據庫並複製了我的整個結構的webrole,也是數據到db 我在我的webconfig中插入了連接字符串,並試圖在仿真中運行它,這很好運行 然後試圖通過創建雲服務來部署它,運行構建器來創建軟件包並在「分段」模式。這是我得到錯誤的地方。

我試圖創建一個空的雲應用程序並添加一個默認的webrole並將其加載到雲,這工作正常。所以我想,也許我在我的webrole的設置中有錯誤。 我檢查了兩者之間的差異,我注意到在兩個解決方案中,診斷程序已啓用,但存儲帳戶在我自己的解決方案中爲空,所以我在此插入「UseDevelopmentStorage = true」。這並沒有改變任何東西。我還看到一個差異在「packages.config」

默認角色有:

<package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.7.0.0" targetFramework="net40" /> 
    <package id="System.Web.Providers" version="1.1" targetFramework="net40" /> 
    <package id="System.Web.Providers.Core" version="1.0" targetFramework="net40" /> 
    <package id="WindowsAzure.Storage" version="1.7.0.0" targetFramework="net40" /> 

礦山有:

<package id="Microsoft.WindowsAzure.ConfigurationManager" version="1.7.0.0" targetFramework="net35" /> 
    <package id="WindowsAzure.Storage" version="1.7.0.0" targetFramework="net35" /> 

我想在此和上傳改變,什麼也沒做

我不使用工作者角色,我只有1個運行實例(與默認相同)

我的應用程序在global.asax中使用了一些身份驗證,它嘗試從User.Identity.Name讀取並與數據庫中的用戶(該用戶插入到sql azure數據庫中)進行比較。起初我認爲這可能是問題的原因,但即使我註釋掉這些代碼,應用程序也不會在雲上運行。

VM尺寸小,信任級別=完全信任

我也看到了在那裏我有遠程訪問參數的設置有所不同。我試圖刪除所有這些只是爲了排除問題

我讀了一些關於設置引用「複製本地是真實的」,但我不知道這是否會有所作爲。

任何想法,因爲我真的不知道該怎麼辦了

編輯:

我修改所有引用「複製本地是真的」,我禁用診斷只是要確定沒有什麼它錯了。

,但現在我得到的錯誤:

<!-- Web.Config Configuration File --> 

<configuration> 
    <system.web> 
     <customErrors mode="Off"/> 
    </system.web> 
</configuration> 

有趣的是,在我的webconfig這個已被設置......我只能找到1個webconfig。 我不太清楚我在做什麼錯

+0

當您啓用了診斷和'UseDevelopmentStorage =真',那麼你將永遠不會得到一個正在運行的雲服務。爲此用戶提供真正的Azure存儲連接字符串。 – astaykov

+0

我不同意,我想你會得到一個正在運行的雲服務,你就不會得到任何診斷信息。 –

+1

我懷疑你有一個缺失的依賴項,你需要追求那些'複製本地是真實的'參考。如果您擁有Visual Studio Ultimate,則可以下載intellitrace日誌,這些日誌可能包含更多信息。 –

回答

3

問題是,我有一些引用的項目是有一個字符串的app.config文件到本地數據庫

6

「保持再造」幾乎總是意味着有,當你啓動應用程序,發生了一些異常。您可能無法通過Diagnostics Montor查看任何錯誤或異常,因爲在配置和啓動診斷之前可能會發生異常。

我建議您啓用時的IntelliTrace選項部署。如果您使用Visual Studio,這很容易。然後,您可以通過Visual Studio檢索IntelliTrace結果,並找出發生了什麼異常。我強烈地認爲在azure上有一些參考文獻錯過了您需要設置Copy Local = true。但是你需要IntelliTrace來找到它們。