其實,認爲這是一個PEBCAK問題。我在不同的服務,我們有,這是一個輔助角色,並恰好在服務器上生成一個新的EXE進程作爲一個黑客來包裝一個32位的第三方DLL,我們需要一些處理盲從現有的例子。
新的代碼我直接添加嘗試處理在我們的網頁角色之一,從隊列中一些消息。所執行的過程中的run()方法是直接拉開序幕永遠while循環以下,但這一過程預計可以訪問整個web.config文件(ENT LIB和EF)爲了工作 - 和我猜測的代碼在webrole中的存在方式與te web角色實例中的應用程序不同。
我能打開這之後的example網站的web配置,但我猜我將需要爲這個過程中一個單獨的輔助角色。恥辱,因爲這是一個微小的過程,但肯定是爛片。
任何人都可以確認代碼的執行webrole不應該訪問的web.config?通過「執行」,我的意思是這個過程在Run()中被啓動,但是作爲託管應用程序中的一個服務物理存在。我想這將等於期待來自衛星組件的配置項自動出現在主機進程的配置中。
呸!如果是這種情況,是否將此流程作爲工作人員角色修復?我找不到任何明確否認或確認我的期望......
我帶你去看看這裏太 - 老 - 但看起來幾乎相同 - 並且建議我的web.config應工作:
http://social.msdn.microsoft.com/Forums/en/windowsazure/thread/07e7dde7-0c0b-4497-8019-303a58759deb
更新--- 我創建了一個工作者角色並將代碼移動到那裏,它按預期工作。所以我想要的是一個明確的 - 這絕不會從一個網站的角色,所以我給史蒂夫馬克斯發郵件。
@stevemarx來自個人通信 - 「webrole.cs中的代碼運行在與IIS下的web應用程序不同的進程中,而您當然應該能夠打開web.config並讀取它(它只是一個文件在當前目錄下),.NET不會做什麼特別的web.config那裏。(這就像把一個名爲web.config文件在同一目錄下,你正在運行一個控制檯應用程序。)」
所以,不,在webrole.cs進程的代碼將不會加載我的web.config。
有什麼與衆不同的用你的web.config的?如果你只有一些appSettings或一個連接字符串,會發生什麼?你能讀懂那些嗎?這聽起來像某些東西沒有正確格式化。你有可能發佈一個web.config示例嗎? – 2011-06-07 18:43:23
@大衛 - 在配置沒有改變 - 應用無論是在Azure和的預置型跑步和-PREM工作就好了。我做了一個配置的二進制比較,它和我們在測試azure env中工作的一樣,仍然可以正常工作。這個xml已經過驗證,並且很好 - 沒有支架混搭。我的開發環境只是不加載它。我會發布時,如果我修復,但萬一這再次彈出。它可能會是愚蠢的,但可能不會在配置中....感謝您的幫助。 – Josh 2011-06-08 17:55:14