当前位置:编程学习 > C#/ASP.NET >>

关于WebService调用Com组件(OCX)发生灾难性故障的问题!!!

本人现在在做一个短信猫群发短信的功能,
在WinForm客户端调用WebService服务器端实现;
利用Com组件(ocx)短信猫二次开发接口,来进行开发。
在WebService调用Com组件时这个组件对象可以成功调用,
当调用到Com组件的方法时出现了如下错误:
System.Runtime.InteropServices.COMException (0x8000FFFF): 灾难性故障 (异常来自 
 HRESULT:0x8000FFFF (E_UNEXPECTED))
----------------
具体代码如下
--
        private EdisonSmsGwClass sms = new EdisonSmsGwClass();

        [WebMethod]
        public int IsSmsConnect()
        {
            sms.ConnectStatus += new 
_DEdisonSmsGwEvents_ConnectStatusEventHandler(sms_ConnectStatus);
            sms.SendSmsResult += new 
_DEdisonSmsGwEvents_SendSmsResultEventHandler(sms_SendSmsResult);
            string comPart = "com1";
            sms.SetModemType(1);//0为手机设备;1为工业GSM Modem
            sms.ComRate = 9600;
            sms.SetSendRate(0); //设置短信发送速度,两条短信发送间的间隔空闲(单位为0.1秒)
            return sms.ConnectModem(comPart, sms.ComRate, 0);
        }
-------
当运行到 sms.SetModemType(1)就出错了
sms为Com组件里面的一个类 
--------------------编程问答-------------------- 没人知道吗? --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 什么呀 --------------------编程问答-------------------- --------------------编程问答-------------------- 网上很多解释,但都没有解决的。
大概意思是COM是非托管的。不能用托管直接调用非托管的COM
好像有个方法可以把DLL转换为托管DLL。但我试过了。失败了 --------------------编程问答-------------------- 难道不需要CreateObject吗? --------------------编程问答-------------------- 猜的答案

ASP.NET,  WEB Services 是并发模式访问的
有可能会有多个实例,访问 和管理

但COM口试唯一的, 一旦打开,就无法再次打开,不适合并发
--------------------编程问答-------------------- 楼主 你的问题解决了吗?如果解决了 请联系下我 可以吗?我也碰到跟你同样的问题。我的EMAIL:fchemail2004@163.com QQ:381062616 --------------------编程问答--------------------
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,