在ASP.NET中使用Excel时,发生拒绝访问?怎么办???

来源:互联网 发布:e。target js 编辑:程序博客网 时间:2024/05/17 07:53

我在WebForm中写了如下代码:

Private   Sub   Button1_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button1.Click

                  Dim   a   As   New   Excel.Application

End   Sub

运行时,单击按钮,出现如下错误:

“/WebReport1”应用程序中的服务器错误。
--------------------------------------------------------------------------------

拒绝访问。  
说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。  

异常详细信息:   System.UnauthorizedAccessException:   拒绝访问。  

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

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

解决方法:

配置Dcom中Excel的权限,把Asp.net用户加进去

1. 运行Dcomcnfg.exe
2. 在列表中选择microsoft   excel   文档
3. 点击属性
4. 选择”安全性”
5. 选择”使用自定义访问权限”和”使用自定义启动权限”
6. 分别编辑权限,添加ASPNET,VS   Developers,Debugger   User
选择”身份标识”,再选择”交互式用户”即可

ASP.NET   在域控制器上使用默认   ASPNET   帐户不能正常运行
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;315158

原创粉丝点击