日期:2014-05-18  浏览次数:20906 次

TTS 中System.UnauthorizedAccessException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
C# code
拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.UnauthorizedAccessException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) 

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 

要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

源错误: 


行 29:         SpVoice Voice = new SpVoice();
行 30:         Voice.Rate = -3;
行 31:         Voice.Speak("<voice required=\"Language=409\">'" + content + "'</voice>", SpFlags);       
行 32:     }
行 33:     public void bindingbon2()
 解决了 再加50分  !!谢谢各位大侠



------解决方案--------------------
选择文件目录,添加相应的操作权限,如asp.net,net work(2003) 等
------解决方案--------------------
这后面不是说的很清楚了吗:

------------------------------------------------
ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 

要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。
------------------------------------------------

在 IIS 6 上为网络服务:这个账号是NETWORK SERVICE.


------解决方案--------------------
只有设置了impersonate="true" 并且设置有系统管理员权限的帐号和密码,才可以正常使用。如下面的
<identity impersonate="true" userName="Administrator" password="123" />