【问题标题】:ASP.Net is not working properly on IIS6ASP.Net 在 IIS6 上无法正常工作
【发布时间】:2011-04-06 06:52:17
【问题描述】:

我有一个 Visual Studio 2010 ASP.Net 项目。我想将此项目部署到我的主机。我做到了,但我的网站无法正常工作。我可以访问主页等,但我不能做我以前的工作。我必须更改一些位于服务器上的单词模板。我正在使用 IIS 6。谢谢。顺便说一下,我确实更改了一些访问属性,但它不起作用。

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

这是堆栈跟踪

[UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).]
System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType) +0
System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType) +79
System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props, Boolean bNewObj) +76
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +98
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +241
System.Activator.CreateInstance(Type type, Boolean nonPublic) +69
System.Activator.CreateInstance(Type type) +6
TemplateModify3.modifyCont.justDoIt() in C:\Users\q\documents\visual studio 2010\Projects\TemplateModify3\TemplateModify3\modifyCont.aspx.cs:120
TemplateModify3.modifyCont.runDelegate(myDelegate dlg) in C:\Users\q\documents\visual studio 2010\Projects\TemplateModify3\TemplateModify3\modifyCont.aspx.cs:92
TemplateModify3.modifyCont.Button1_Click(Object sender, EventArgs e) in C:\Users\q\documents\visual studio 2010\Projects\TemplateModify3\TemplateModify3\modifyCont.aspx.cs:72
System.Web.UI.WebControls.Button.onclick(EventArgs e) +118
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563 

【问题讨论】:

  • 文件modifyCont.aspx.cs中的第120行是什么?
  • 该页面尝试更改服务器@Filip 中的单词模板

标签: asp.net iis-6 host


【解决方案1】:

尝试更改运行应用程序池的用户,您似乎正在尝试访问一些您的 IIS_USR 也无权访问的 COM 对象。

您也可以尝试使用Impersonation。

【讨论】:

  • 如何授予 COM 对象的访问权限。
  • 如何授予对 COM 对象的访问权限。 @菲利普
  • @Güngör,在为应用程序池使用模拟/更改用户时是否有效?您可能会发现这很有用:support.microsoft.com/kb/325791
  • 我试过了,但对我没有帮助。我以为我不能在我的服务器上使用 Word dll @Filip
【解决方案2】:

您是否使用可能未正确安装或未安装正确版本的第三方 dll,例如 Crystal Reports?可能是所述第三方 dll 正在尝试访问 windows 或 .net 临时文件夹或不存在的相关 dll。

【讨论】:

  • 是的,我在我的项目中使用 word dll 。但是我在我的服务器上安装了 word 2010 但它不起作用。
  • 是的,我在我的项目中使用 word dll 。但是我在我的服务器上安装了 word 2010 但它不起作用。 @Fellmeister
【解决方案3】:

Windows Server2008 R2 的 COM 库存在安全问题。此安全问题阻止将 COM 库与 Server 2008 R2 一起使用。如果服务器是2003版本,就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-16
    • 2013-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    相关资源
    最近更新 更多