【发布时间】:2014-01-10 21:53:30
【问题描述】:
我编写了一个使用 FAXCOMEXLib 的 C# 控制台应用程序。
应用程序读入一个文本文件并将其提交到传真队列。
(1) 传真队列在 Windows 2003 SBS 上运行(并且工作正常)
(2) 我使用 Visual Studio 2013 Express C# 控制台应用程序开发了我的应用程序。
(3) 在我的Windows 8 Ent开发机上运行console app运行正常,提交文档并发送成功
(4) 如果我将控制台应用程序部署到 Windows 2008 服务器,则会发生以下情况;
- 我必须在本地机器上安装传真服务,即使传真是通过另一个传真服务器发送的,否则我会收到错误
Retrieving the COM class factory for component with CLSID {CDA8ACB0-8CF5-4F6C-9BA2-5931D40C8CAE} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). - 安装传真服务后,应用程序运行良好
- 传真提交到传真队列成功
- 我可以看到队列中的传真状态为待处理,然后是正在拨号,然后是正在发送。
- 但是过了一会儿,我收到一个错误致命错误,并且传真无法发送。
所以问题不在于调制解调器。 Windows 服务器上的日志条目是;
事件日志条目是
事件类型:警告
事件来源:微软传真
活动类别:出境
事件 ID:32028
日期:14/01/2014
时间:15:43:42
用户:不适用
计算机:传真服务器
说明:
发送传真时遇到错误。该服务将尝试 重新发送传真。如果进一步传输失败,请确认 电话线、传真发送设备和传真接收设备是 好好工作。发件人:。计费代码: 。发件人公司:.发件人 部门:。设备名称:U.S. Robotics 56K FAX EXT。职位编号: 0x0201cf113f2ab5e7。用户名:FAXSERVER\Administrator。请查看活动日志以获取有关此事件的更多详细信息。
所以基本上传真从 C# 应用程序离开 Windows 2008 服务器。并出现在 Windows 2003 SBS 传真服务器的队列中,但没有被发送。
传真号码没问题,可以使用传统的文件打印方式发送传真(以记事本发送到传真方式为例,在Windows 2008服务器上),也可以接收传真。
我该如何解决这个问题?
【问题讨论】:
-
因为你没有包括最重要的东西:什么是“FatalError's”消息、错误代码、堆栈跟踪等,或者至少,你从哪里得到它,你是如何观察它的?有日志吗?您是否检查过 Windows 的 App 和 Sys Events,它们是否包含任何相关内容?另外,您是否检查过文档(如果有) - 在什么情况下可以报告“FatalError”?也许这只是机器之间 TxRx 期间的故障,即使它正在“传输”某些东西也可能出错。如果以上所有方法都不可行,您是否尝试过与“FaxComex”技术支持人员交谈?
-
我已更新问题以包含日志条目。
-
好的,现在我们看到一件重要的事情:“发送时出错”+“自动重试”。此消息带有“警告”类。它是日志中唯一的消息吗?该服务真的会再试一次吗?它是否不断尝试并失败,是否不断重复此消息?如果是这样,则消息本身可能有问题(没有“标题”,没有“错误的收件人号码格式”等)。如果它在几次重试后尝试并成功,也许一切都很好,你只是电话线坏了或调制解调器有故障?如果它不重试 - 检查服务配置,是否有尝试限制?或者它已经关闭了?
-
微软提供的传真服务尝试重新发送传真,但又失败了。
-
这里有一个错误代码相同的人找到了解决方案:social.msdn.microsoft.com/Forums/vstudio/en-US/… 也许它可以引导正确的搜索方向。