我正在尝试从浏览器外 Silverlight 4 应用程序实例化到 Communicator 2007 的 COM 连接。我正在跟踪一些示例代码 - 其中一个(略有不同)示例是 这里 - 但当我运行以下行时出现错误:

dynamic communicator = AutomationFactory.CreateObject("Communicator.UIAutomation");

错误是:

Failed to create an object instance for the specified ProgID.

我已经下载并安装了我认为是的 正确的SDK, ,但 OLEView 未显示已注册的 DLL - 我需要做些什么才能在 SDK 中注册 DLL 吗?regsvr32 似乎不起作用。

我这一切都错了吗?是否有更好的选择,也许使用统一通信客户端(1.0 或 2.0)SDK?

有帮助吗?

解决方案

当时 Communicator 是否正在运行?它必须正在运行才能使用 API。

当通信器运行时,上面的代码对我来说工作得很好,但是我可以通过确保当上面的行被击中时它不运行来复制您的错误。

我很确定 SDK 已注册正常,因为如果没有注册,您会收到略有不同的错误:

No object was found registered for specified ProgID.

关于正确的 SDK - 这取决于您想要实现的目标。自动化 API(即您正在使用的那个)将允许您自动运行 Communicator 实例,因此它非常适合例如使用 Communicator UI 获取状态信息、启动 IM 对话、拨打电话等。仅当无法保证 Communicator 运行时,或者您需要(例如)时,您才需要查看 UCCA。提供您自己的 UI。

我在博客中介绍了各种 API 这里

还要记住的一件事是,如果可以选择升级到 Lync,那么 SDK 内置了一大堆非常有用的 Silverlight/WPF 控件 - 一些信息 这里

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top