小心使用DCOM

这段时间在做一个编码转换的程序,其中用到了一个SDK,是以DCOM形式发布的。把这个DCOM添加到引用中,用VS2005编写成一个WebService程序,没有多久就成功了,本以为大功告成,可是接下来的麻烦就来了。

在将我的WebService程序发布添加到IIS中去以后,编码就无法完成!同样的代码,在粘贴到Windows程序中写了一个测试代码运行又一切正常。同样的代码WindowsForm中运行正常,在IIS中就无法使用这个问题以前也遇到过,一般是权限的问题。于是把AspNet用户的权限改为管理员权限还是不能运行。这个就麻烦了,知道是权限问题却不知道到底哪儿点权限有问题,郁闷。

打开事件查看器,发现里面有如下的系统错误日志:

DCOM 遇到错误“无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。 ”,试图以参数“”启动服务 StiSvc 以运行服务器:
{A1F4E726-8CF1-11D1-BF92-0060081ED811}

这个日志已经告诉我们了,错误就出在DCOM的权限上。原来以WindowsForm或在VS2005中的Web项目运行的时候,调用这个DCOM的是当前操作用户的权限,所以一般也没有问题,但是用IIS调用的时候就涉及到用户 IUSR_××××,IWAM_×××,Network Service 等用户权限,由于这些用户的权限在各个配置中都比较低,所以造成如文件不能写入,DCOM不能调用等错误。

我们这儿的解决办法其实也不复杂,到注册表中搜索提示的{******-*****}这个ID,可以找到这个DCOM的名字,然后运行中输入dcomcnfg打开组件服务,然后找到这个DCOM和相关调用的DCOM,将其权限中添加Network Service,把这个用户权限什么远程启动,远程激活之类的都打开。然后记住一定要重启机器,这样我们就可以在IIS中调用DCOM了。

时间: 2025-01-21 08:44:37

小心使用DCOM的相关文章

qq群相册如何删除不小心将相册传错

  QQ群中也是有相册的,而相册的内容可以是群中的任何成员上传的,有些时候我们如果不小心将自己的相册传错了,想要删除怎么办呢?也有的是一些不利于群发展的相册我们要删掉,这要怎么操作呢?下面小编为大家分享一下qq群相册怎么删除,希望能帮到大家. 1.首先我们进入到QQ群里面,然后在相册里选择一下需要删除掉的相册. 2.然后把鼠标移动到要删除相册的上面按下拉条,点击下删除就行了. 3.另外如果是单张删除的话,先进入到相册里面后,按一下要删除的照片.然后点击删除按确定就可以了. 大家注意哦!别人上传在

小心它----“复合赋值运算”

这是今天在开发当中遇到的问题,虽然不是很大,但还是花了一点时间去琢磨.       嗯,好了.先看一段源代码:  short value=2; value-=2;      源码就是上面这个样子的,我动手写的时候因为理解的问题,把代码改成了这个样子: short value=2; value=value-2;     这时候编译器就和我杠上了,报第二行有错.想想也对, value 变量和一个整型运算后 Java 会自动将运算结果提升到 int 类型,这和 value 定义的时候的 short 类

主键值数据类型-informix数据库,不小心把主键值从int8改成float类型了

问题描述 informix数据库,不小心把主键值从int8改成float类型了 informix数据库,不小心把主键值从int8改成float类型了,然后值就变了.有人能帮忙看一下可能原因是什么吗? 解决方案 补充一下,数值由824变成800,转换的是informix数据库的主键值,由int8转为float

win7系统账户不小心删除了怎么办

win7系统账户不小心删除了怎么办   如何解决对某盘操作的时显示"您需要管理者权限才能进行XX操作"? 这段血泪史的起因是笔者想解决加密盘无法装在E盘的问题. 每次粘贴文件到E盘或者从E盘移走文件时,会显示没有管理者的权限.正是这个原因,加密盘无法安装在E盘. 令人不解的是,从控制面板-账户管理中可以看到chenjun这个账户已经是管理员了. 后来网上查到,产生这种现象的原因是装系统时会自动进行了一些安全处理.解决此问题只需右键选择E盘,选择属性-安全,然后给该账户或者组添加一系列权

MySQL中处理空值时要小心两个陷阱

  MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段.在MySQL数据库中,在不同的情形下,空值往往代表不同的含义.这是MySQL数据库的一种特性.如在普通的字段中(字符型的数据),空值就是表示空值.但是如果将一个空值的数据插入到TimesTamp类型的字段中,空值就不一定为空.此时为出现什么情况呢(如下图)? 我先创建了一个表.在这个表中有两个字

风投需小心选择伙伴 人品应该放第一

前几天我和一个好朋友共进晚餐时,对如今社会发展的快节奏和逐渐增加的压力进行了讨论,也谈及了我目前的工作.他也认为目前的商业状况正处于经济周期的后期,个人的平均需求水平在增长,而且不断发展的各种通讯设备(也算是对于私人生活的一种"侵犯",如黑莓,IM等)也使得这种状况加剧恶化,而作为个体很难独善其身. 我这位朋友算是我所知道的多产的强人之一,别人需要5天时间完成的工作他2天就可以做完甚至完成得更多更好.我曾问他如何将一天24小时扩展为28小时,他的回答很简单,也很令我吃惊,那就是:&qu

PHP代码源有可能被污染 建议下载要小心

PHP官方网站(http://www.php.net/) 3月25日消息:据PHP官方网站发布新闻得知其wiki账号被盗,原因是wiki.php.net漏洞导致的,而wiki的账号和php代码源的SVN提交权限相关联,从而导致PHP代码受污染. 据了解,PHP5.3.6以及其后续版本的代码已经被污染,目前只能把未受污染的代码版本确保到PHP5.3.5,下载PHP代码的用户,需谨慎. 原文内容:The wiki.php.net box was compromised and the attacke

NET中对DCOM的调用

NET中对DCOM的调用原来一直以为C#不能调用DCOM,现在才发现可以,写出来,希望对大家有帮助我调的DCOM是用delphi写的,远程服务器ip是 192.168.0.1 调用的DCOM有包含有实现接口的类为 DCOMclass,clsid={2E2C947F-9A08-4839-A05D-05021722D30C}本地有DCOM的tlb文件 DCOMclass.tlb 里面包含了DCOM的接口和实现的类下面开始,1.确保DCOMclass.tlb注册到你的本地机上(regsvr32)2.在

在ASP中调用DCOM组件的应用技巧

在ASP中调用DCOM组件的应用技巧 1.编写DCOM组件: 假设我们想通过ASP页面来远程启动DNS服务,并且DNS服务器与Web服务器不为同一台机器.我们可以编写一个ActiveX DLL 来实现这个功能. 首先我们建立一个批处理文件StartDNS.bat,文件中写入:Net Start DNS.将文件保存在DNS服务器的一个目录下,例如C:\ManDNS\: 其次我们编写 Dll 程序如下(VB编写): Public Function StartDNS() As Boolean On E