C# 在asp.net中使用Microsoft.Office.Interop.Word

C# 在asp.net中使用Microsoft.Office.Interop.Word,c#,asp.net,ms-word,flesch-kincaid,C#,Asp.net,Ms Word,Flesch Kincaid,我正在尝试在asp.net应用程序中利用Microsoft.Office.Interop.Word dll。长话短说,基于web的内部文档管理/编辑系统需要临时访问MS Word flesch kincaid值。在控制台应用程序中使用此dll没有问题,但通过asp.net访问时,我无法获得对它的正确权限 由于以下错误,检索CLSID为{000209FF-0000-0000-C000-0000000000 46}的组件的COM类工厂失败:80070005访问被拒绝。(来自HRESULT的异常:0x

我正在尝试在asp.net应用程序中利用Microsoft.Office.Interop.Word dll。长话短说,基于web的内部文档管理/编辑系统需要临时访问MS Word flesch kincaid值。在控制台应用程序中使用此dll没有问题,但通过asp.net访问时,我无法获得对它的正确权限

由于以下错误,检索CLSID为{000209FF-0000-0000-C000-0000000000 46}的组件的COM类工厂失败:80070005访问被拒绝。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))


我什么都试过了,运气不好。我在Win7上使用.NET4.0,我尝试了32位和64位版本的MS Word。我还预计,一旦我部署到运行WindowsServer2008R2标准的服务器上,我会有更多的头痛问题,因为todda.speot.is给出的原因,我会使用OpenXMLSDK


Microsoft目前不建议也不支持从任何无人参与、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为在这种环境下运行Office时,Office可能会表现出不稳定的行为和/或死锁。这不是OP需要的。他不是在询问如何创建或操作word文档,而是需要一个来自word本身的函数(计算文本的flesch-kincaid分数)。然而,不幸的是,他所需要的(服务器环境中的word)不受支持,并且已知会导致各种问题。实际上,在服务器上编辑它并不是一个问题,只要您不使用microsoft word,这正是链接的用途。这确实解决了需要再次在服务器上更改word文档的问题:这与编辑文档无关。这是关于msword dll中计算文档的kincaid分数的功能。如果您认为使用OpenXMLSDK可以做到这一点,请在回答中更加具体,并向我们展示如何做到这一点