我正在嘗試使用FileStream打開一個文件(包含在我的項目中作爲Content和Always Always選項)。我收到以下錯誤:Windows Azure - 在批准路徑中拒絕訪問
***Access to the path 'E:\approot\PdataParsingRules.xml is denied.***
我使用下面的代碼讓我的文件的路徑:
Path.Combine(Environment.GetEnvironmentVariable("RoleRoot") + @"\", @"approot\PdataParsingRules.xml");
,我使用下面的代碼,以解序列化我的文件:
ParsingRules rules;
XmlSerializer serializer = new XmlSerializer(typeof(ParsingRules));
fileStream = new FileStream(rulePath, FileMode.Open);
rules = (ParsingRules)serializer.Deserialize(fileStream);
return rules;
當我對我的一個工作者角色實例(以完全信任模式運行)執行RDC時,我看到此特定文件具有讀取,讀取&對該VM中的常規用戶執行權限。管理員和系統完全控制文件。我的序列化工作正常,如果我手動給予普通用戶的完整權限,但由於顯而易見的原因,這並不能解決問題。
對此的任何想法將不勝感激。
For constructors without a FileAccess parameter, if the mode parameter is set to Append, Write is the default access. Otherwise, the access is set to ReadWrite.
,默認情況下,如果你不運行與提升的權限您的角色您的代碼不具有對文件的寫訪問:在爲constructor you are using我看到下面的文檔
astaykov:非常感謝您的答覆。我的要求是以讀模式打開文件。 FileAccess參數足夠了,現在我的反序列化工作如預期:-) – Vinod 2012-01-19 08:12:23