2014-09-12 17 views
0

我一直在關注Azure電子郵件服務教程(又名Azure雲服務教程)here如何讓Azure雲服務教程正常工作

按照step 2中的說明,我下載了該項目,並且能夠在本地運行它。再次按照說明操作,我創建了Azure存儲帳戶和Cloud Service,並配置了我的應用程序以使用它們。

但是,當我開始「測試配置爲使用存儲帳戶的應用程序」時,我試圖運行應用程序時遇到了異常。唯一的例外是在WorkerRoleB項目提出,在OnStart方法,在這一行:

blobContainer.CreateIfNotExists(); 

唯一的例外是一個StorageException

Unable to connect to the remote server

...和內部異常是一個WebException

The remote server returned an error: (407) Proxy Authentication Required.

我嘗試添加下面爲WorkerRoleB的config文件:

<system.net> 
    <defaultProxy enabled="true" useDefaultCredentials="true"> 
    <proxy usesystemdefault="True" bypassonlocal="True" /> 
    </defaultProxy> 
</system.net> 

......我不再在WorkerRoleB中得到異常,但我在WorkerRoleA中得到了一個相同的異常(在類似的代碼行上)。所以,我給WorkerRoleA添加了相同的配置片段。再一次,這意味着我不再有WorkerRoleA中的異常。

但是,將該配置片段添加到WorkerRoleA和WorkerRoleB後,我仍然無法運行該應用程序。當點擊「運行」時,瀏覽器打開一個沒有顯示內容的窗口(但是「加載」指示器正在旋轉),最終在大約30秒後,我在MvcWebRole項目的Global.asax中出現異常。

唯一的例外是在下面的行上調(眼熟?):再次

mailingListTable.CreateIfNotExists(); 

一次例外是StorageException

Unable to connect to the remote server

...但這次內部異常是SocketException

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 168.61.61.16:443

我不知所措,不知道該做什麼現在。我實際上甚至不知道我對WorkerRoleA和WorkerRoleB項目所做的與代理相關的更改是否正確,因爲儘管他們似乎將事情推進了一步,但實際上我還沒有看到該項目還在運行。有什麼建議麼?


更新:我發現了一個博客帖子here這似乎給了,爲什麼我看到了「連接嘗試失敗」錯誤的解釋,這是我很可能後面的代理服務器或防火牆,只允許流量來自經過身份驗證的用戶,而Azure/IIS將AppPool(WebRole)配置爲在「NetworkService」下運行。

一對夫婦建議的決議看起來可行,但我不能讓任何一方的工作:

  1. 註釋掉ServiceDefinition.csdef中文件的部分 - 當我試圖做到這一點,該項目不會生成,因爲.csdef文件不再遵守模式。 (無論如何,我的.csdef文件在該文件中似乎沒有任何註釋,所以我懷疑這是否會起作用)。
  2. 編程方式更改程序池的身份 - 我嘗試使用提供的示例代碼,但是失敗了,當它試圖找到相關網站(ServerManager.Sites[xxx]返回null,導致NullReferenceException)。
+1

Downvoter列出的所有解決方法:我怎樣才能提高我的問題嗎? – 2014-09-15 10:50:53

回答

0

我希望你試過在here

+0

是的,這是我列在我的問題中的同一篇文章。 – 2014-09-21 14:42:54