关于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