C#.NET编写了一个webservice的接口,供公司的的其他地方发送和接收短信(采用的方式是:再服务器上安装一个短信猫,然后使用我开发的那个Webservice服务来和短信猫交互,而其他人要使用短息服务的话就使用Webservice的接口就行了)。现在的问题是,我在VS中进行测试的时候,能够和短信猫交互,并且能够正常的收发短信。但是我把写好的项目发布到IIS上时,程序始终连接不上短信猫。短信猫是使用的COM口,我想是不是IIS没有访问COM组件的权限(网上说在组件服务里面的DCOM里面设置权限,但是我不知道具体该设置哪一个的权限),因为,我连接短信猫不是使用的AT指令,而是通过第三方SDK发布的DLL接口来实现的。所以,到底是IIS没有访问DLL的权限,还是IIS没有访问短信猫的权限,还是其他方面有问题。
不知道怎么解决,一个小程序搞了三天了,还没完成,急啊,…………,感谢帮我解决问题的大虾…………

解决方案 »

  1.   

    如果你的工程使用的Com引用的话,需要设置DCOM权限。参考:在DCOM组件服务中给MICROSOFT.EXCEL组件 赋予ASP.NET的操作权限,具体步骤:
     (1)打开开始菜单的运行对话框,输入dcomcnfg命令,确定,这时会弹出组件服务窗口
     (2)展开计算机-〉我的电脑-〉DCOM配置,找到Microsoft Excel应用程序节点
     (3)单击右键-〉属性,选中“安全”选项,在下面三个项目都选择“自定义”,并单击编辑按钮
     (4)在启动权限对话框中点击添加按钮,添加相应的用户(注意:如果是WIN2000,XP,则添加“机器名/ASPNET”用户,我这里是以WIN2003为例,
     WIN2003是添加“NETWORK Service”用户),并赋予最大权限
     (5) 选择”身份标识”,再选择”交互式用户”即可
    上文中是设置EXCEL组件,你需要在你的dcomcnfg中找到你使用的com组件
      

  2.   

    或者使用模拟帐户,在Web.config文件中加入
     <!identity impersonate="true" userName="administrator" password=""/>
     用户密码要根据操作系统相应变化,用户必须是有足够权限的用户。
      

  3.   

    把它加載到COM+元件服務內, 試試是否可行?
      

  4.   

    c/s也可以发布web程序,可以试试。
    不知道这样做是否能绕过权限问题。
      

  5.   

    试下提高NETWORK Service的权限
    这个帐号是用来运行IIS的,如它可用的资源,IIS就可以用了
    上次我在ASP.NET中需要移动服务器端的文件,就是给这个帐号权限。还有一个方法一定可以
    你把访问COM的代码做成REMOTING运行
    WEB再去调用。