我在IIS 7.5上运行了一个ASP.NET 4.5 Web表单应用程序。 我创建了一个页面,用户输入一些信息并选择一些东西。 在页面底部,我有一个生成word文档的按钮。
怎么样?
我使用的是Microsoft Word对象库,我上传了一个word文档模板。在其中我添加了MergeFields,我在后面的代码中引用并初始化它们。这在当地很有效。 当我在服务器上上传应用程序时...大惊喜:
>'/'应用程序中的服务器错误。 由于以下错误,检索具有CLSID {000209FF-0000-0000-C000-000000000046}的组件的COM类工厂失败:80070005访问被拒绝。 (HRESULT异常:0x80070005(E_ACCESSDENIED))。ASP.NET无权访问所请求的资源。考虑将资源的访问权限授予ASP.NET请求标识。 ASP.NET具有基本进程标识(IIS 5上通常为{MACHINE} \ ASPNET,IIS 6和IIS 7上为网络服务,IIS 7.5上已配置的应用程序池标识),如果应用程序未模拟,则使用该标识。如果应用程序是模拟通过,则标识将是匿名用户(通常是IUSR_MACHINENAME)或经过身份验证的请求用户。
要授予对文件的ASP.NET访问权限,请在“文件资源管理器”中右键单击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”以添加适当的用户或组。突出显示ASP.NET帐户,并选中所需访问的框。
关于它的奇怪之处在于我在上传这个word文档模板的文件夹中有更多文件。这些在同一个应用程序中运行良好。我正在使用一些excel模板。这显然是一个无法访问但是为什么以及如何解决它的问题?
我尝试按照说明操作并右键单击它以查看安全属性。它已经添加了组并分配了完整权限。 为什么不能访问它?在这里提一下,我正在使用模仿。
我真的想知道是否有办法解决这个问题,还是我需要使用不同的库编写所有的单词操作代码?
谢谢!