在C#中获得一个 'System.AccessViolationException' 异常使用的RightFax
问题描述:
我试图通过RightFax的COM API库来发送传真:在C#中获得一个 'System.AccessViolationException' 异常使用的RightFax
RFCOMAPILib.FaxServer server = new RFCOMAPILib.FaxServer();
server.ServerName = "xxx";
server.Protocol = CommunicationProtocolType.cpTCPIP;
server.UseNTAuthentication = BoolType.True;
// Error happens here
server.OpenServer();
RFCOMAPILib.Fax fax = (RFCOMAPILib.Fax)server.get_CreateObject(RFCOMAPILib.CreateObjectType.coFax);
fax.ToName = "Batman";
fax.ToFaxNumber = "23434484";
fax.FromFaxNumber = "78678676";
fax.FromName = "Robin";
fax.Send();
我已经注册的DLL文件rfcomapi.dll
:
C:\Program Files\RightFAX> RegSvr32 rfcomapi.dll
不幸的是,在运行此代码时,出现以下错误;
未处理的异常:system.AccessViolationException:试图读取或写入受保护的内存。这通常表明其他内存已损坏。
我正在使用RightFax的9.4.0.0版本。
我该如何解决这个问题?
答
问题是服务器名称不正确,因为我们无法在我们的网络中解析该名称。我ping服务器,我什么也没有,但是我得到了它的IP地址,它工作正常!
总是用RightFax ping服务器!您将要获得的错误消息不是很具描述性!
答
你的代码本身是完美的。我可以用我的9.4 RightFax运行它,没有任何问题。您可能需要检查您的授权,以确保您的帐户在服务器中完全授权。
+0
谢谢队友。我一直想知道我所提供的证书是否与服务器中实际配置的证书一致。我发送了一封电子邮件给管理员,要求澄清这一点。干杯。 – Intrigue 2010-12-18 00:47:36
你在哪一行代码中得到这个错误?这不是你的代码中的东西。托管代码不会抛出(或者甚至允许)这样的错误,而不是没有额外的工作。顺便说一句,只注意到这行代码:fax.FromFaxNumber = fax.ToFaxNumber;看起来它可能会导致API错误。 – 2010-12-17 04:35:45
谢谢保罗。我会澄清我的问题。我得到错误之前,我得到它时调用OpenServer()或如果我删除该行我得到它@ server.get_CreateObject( - ) – Intrigue 2010-12-17 04:41:43
你有其他支持DLL(RFWin32.dll,Rfi32rpc .ndr和Rfi32smb.ndr)以及rfcomapi.dll? – VinayC 2010-12-17 06:55:16