0

我們目前將加密密鑰存儲在我們其他天青應用的受保護註冊表項中,並且通過啓動任務添加了該密鑰。雖然我看到lightswitch應用程序中也有一個csdef文件,但啓動任務似乎從未在本地或在天藍色時觸發。我甚至嘗試將輸出添加到cmd文件,以便我可以查看是否有任何類型的錯誤,但該文件甚至沒有創建。 Lightswitch似乎沒有Win32.registry,所以通過代碼添加密鑰似乎是不可能的。是否可以在Azure lightswitch應用程序中啓動任務?

是否有其他人能夠獲得啓動任務運行在天藍色的主持lightswitch應用程序?據我瞭解,lightswitch和包含web.worker角色的項目之間的天藍色方面應該不同。它們仍然在虛擬機上運行,​​因此啓動任務仍應能夠訪問註冊表。如果它不可能有任何其他想法如何添加註冊表項?把密鑰放在代碼中絕對不是理想的。僅供參考,reg文件和cmd文件位於服務器文件夾中,並設置爲內容並始終複製。

STARTUP.CMD:

regedit /s 456ddfrt.reg 
exit /b 0 

csdef:

<WebRole name="LightSwitchWebRole" 
     vmsize="Small" 
     enableNativeCodeExecution="true"> 
    <Startup> 
    <Task commandLine="startup.cmd" executionContext="elevated" taskType="simple"/> 
    </Startup> 

解決方案

我結束了使用獨立存儲由揚的建議。代碼示例如下。

 //Get key from storage, add if not exists 
     try 
     { 
      String strKey = (string)appSettings["encrKey"]; 
      strKey = DecryptString(strKey); 
     } 
     catch (Exception Ex) 
     { 
      appSettings.Add("encrKey",[mykey]); 
      String strKey = (string)appSettings["encrKey"]; 
      strKey = DecryptString(strKey); 
     } 

它還涉及到把鑰匙的代碼,但關鍵是用加密的不同的加密方法,並在Azure上的可能性,他們將可以訪問我的代碼是非常低的。感謝所有的建議!

+0

我個人還沒有試過這個,但是如果你在這個角色上啓用RDP,它會幫助你進一步調查嗎?詳情如下:http://blogs.msdn.com/b/avkashchauhan/archive/2011/08/02/windows-azure-and-visual-studio-lightswitch-2011-part-3-3-adding-rdp-access -to-lightswitch-2011-application-which-is-already-deployed-to-windows-azure.aspx – RichardC 2013-03-12 18:05:10

+0

我不認爲rdp在這種情況下會做很多工作,因爲它甚至不能在我的本地機器上工作。我之前用過其他東西,而且它很有幫助。 – 2013-03-13 18:03:02

+0

當您閱讀發佈嚮導時,您是否選擇了「服務類型」作爲「網站」或「雲服務」?我認爲您正在部署到Cloud Service? – RichardC 2013-03-15 09:45:21

回答

0

您是否想過使用應用程序的Application_Initialize方法?

+0

我有,但問題是lightswtich沒有任何必要的功能將密鑰添加到註冊表中。在lightswitch中沒有Win32.Registry – 2013-03-13 18:01:56

+0

此MSDN論壇主題可能會爲您提供一些建議:http://social.msdn.microsoft.com/Forums/en-US/silverlightnet/thread/a2fd2a83-bac1-41fe-9364-177d3b0a757e / – 2013-03-14 01:07:27

相關問題