就这个问题,已经因扰了N长时间了大家来看看。原问题地址有:
http://community.csdn.net/Expert/topic/5457/5457213.xml?temp=.6297571
http://community.csdn.net/Expert/topic/5468/5468189.xml?temp=.1478235现在已经重新安装了操作系统windows2003,升级了iis。但重新编译active exe后,在visual studio 2005下运行正常,但在iis6下运行就会出错。。根据要求,已经把相应的权限加上了。但仍然报错。(active exe在运行时需要写日志文件:*.log)错误提示:
//-----------------------------------------------------------“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------检索 COM 类工厂中 CLSID 为 {C6903523-ED82-4D7F-BD4C-B85B792421A8} 的组件时失败,原因是出现以下错误: 80070005。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {C6903523-ED82-4D7F-BD4C-B85B792421A8} 的组件时失败,原因是出现以下错误: 80070005。 ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。源错误: 
行 19:     //WebYingPing.Cls_用户 obj用户 = new WebYingPing.Cls_用户();
行 20: 
行 21:     WebYingPing.Cls_用户Class obj用户 = new WebYingPing.Cls_用户Class();
行 22: 
行 23: 
 源文件: d:\WebYingPing v1.4\login.aspx.cs    行: 21 堆栈跟踪: 
[UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {C6903523-ED82-4D7F-BD4C-B85B792421A8} 的组件时失败,原因是出现以下错误: 80070005。]
   login..ctor() in d:\WebYingPing v1.4\login.aspx.cs:21
   ASP.login_aspx..ctor() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\694b947e\34e32e61\App_Web_2r37ghpl.19.cs:0
   __ASP.FastObjectFactory_app_web_2r37ghpl.Create_ASP_login_aspx() in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\694b947e\34e32e61\App_Web_2r37ghpl.21.cs:0
   System.Web.Compilation.BuildResultCompiledType.CreateInstance() +49
   System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +115
   System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +31
   System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +40
   System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig) +139
   System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +120
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155 
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.210 
//-------------------------------------------------------------------

解决方案 »

  1.   

    一般是iis配置问题
    1。匿名用户有没有打开
    2。网站用户有没有分配读取,修改相关文件的权限
    3。网站属性有没有读取文件权限
      

  2.   

    asp.net的权限不够
    使用模拟账户<identity   impersonate="true"  userName="系统用户名" password="系统密码" />
      

  3.   

    bitsbird(一瓢 在路上...) 使用模拟账户<identity   impersonate="true"  userName="系统用户名" password="系统密码" />:上面的这句"<identity   impersonate="true"  userName="系统用户名" password="系统密码" />"应该放在什么地方?另外我现在已经是IIS6,权限再怎么设置?已经把asp.net用户给了网站及.net文件夹的所有控制权。
      

  4.   

    在web.config里添加,还有你的iis设置里,要构选匿名和windows集成选项
      

  5.   

    我要是加上下面这句:<identity   impersonate="true" userName="administrator" password="" />,会不会有系统安全方面的问题呢?
      

  6.   

    还是权限问题。从iis下面调试时仍旧出错。
    为什么web程序从iis下面执行时进程的用户名是asp.net。而从visual studio 2005下调试时进程的用户名是administrator。