我想從我的角色入口啓動例程訪問我的Windows Azure數據緩存。不過,我不斷收到此錯誤:從角色入口點加載數據緩存開始
{「錯誤代碼:子狀態:服務器集合不能爲空」}
然而,當我做同樣的從我的控制器類中,它加載的數據緩存很好,我可以去提前做好準備。
有什麼特別的角色條目類,我必須做訪問之前,我的應用程序啓動數據緩存?
或者我不能訪問緩存中的作用開機調試?
乾杯
我想從我的角色入口啓動例程訪問我的Windows Azure數據緩存。不過,我不斷收到此錯誤:從角色入口點加載數據緩存開始
{「錯誤代碼:子狀態:服務器集合不能爲空」}
然而,當我做同樣的從我的控制器類中,它加載的數據緩存很好,我可以去提前做好準備。
有什麼特別的角色條目類,我必須做訪問之前,我的應用程序啓動數據緩存?
或者我不能訪問緩存中的作用開機調試?
乾杯
與Azure的SDK 1.3開始,有一個重大的變化 - 全IIS模式。閱讀this blog post以充分了解完整的IIS以及它是什麼。簡而言之,您的RoleEntryPoint後代(您的OnStart方法正在執行的地方)存在於另一個AppDomain(實際上處理 - WaIISHost.exe)中,而您的實際Web應用程序僅存在於IIS(w3wp.exe)中。這就是爲什麼沒有辦法在OnStart()中執行某些操作,這會影響您的Web應用程序,或者可以直接讀取您的web.config。
如果你閱讀的OnStart Azure的數據緩存的數據做一些預載的Web應用程序,只是做在Global.asax中的的Application_Start()事件處理程序。
如果你需要閱讀Azure的數據緩存中的OnStart理性的特定於RoleEntryPoint,你必須加載從web.config中的配置。 Web.config放置在與您的AppRoot文件夾相關的「./bin/web.config」中。 (當您在完整的IIS中使用WebRoles時,您的應用程序有兩個副本 - 一個在AppRoot中,一個在SitesRoot中)。
希望這會有所幫助!
WebRole的的OnStart可能不使用你的web.config,你可能已經指定服務器名稱和訪問鍵爲您AppFabric的數據高速緩存提供商。
我會嘗試手動插裝服務器連接配置。