为啥我们需要 Lync SDK 控件,如果它们不能在 UI 抑制模式下使用?

Posted

技术标签:

【中文标题】为啥我们需要 Lync SDK 控件,如果它们不能在 UI 抑制模式下使用?【英文标题】:Why do we need the Lync SDK Controls, if they can not be used in UI Suppression mode?为什么我们需要 Lync SDK 控件,如果它们不能在 UI 抑制模式下使用? 【发布时间】:2011-05-11 14:45:20 【问题描述】:

如果不能在 UI 抑制模式下使用 Lync SDK 控件,为什么我们需要它们?例如,MyStatusArea 控件或其他。

【问题讨论】:

【参考方案1】:

据我所知,Lync 控件在 2 个用例中提供了价值:

    用于构建自动化 Lync 的应用程序 用于对话窗口扩展 Silverlight 应用程序

在这些情况下,必须对控件提供的功能进行编码会耗费大量精力,因此使用控件可以提高工作效率。

话虽如此,可惜的是控件不能在 UI 抑制模式下使用。

一个原因是,对于某些控件,在 UI 抑制模式下运行它们没有意义。例如,StartInstantMessagingButton 控件会启动一个新的对话窗口 - 此对话窗口不会在 UI 抑制模式下显示(假设 UI 已被抑制!)

另一个可能的原因(我自己的看法)是,当公司希望将用户限制为 Lync 功能的有限子集时,将使用 UI 抑制模式。例如他们可能希望嵌入向 HR 部门中的一组用户发送 IM 的功能,但不允许呼叫任何其他用户或添加其他联系人等功能。

允许控件在 Suppressed UI 模式下工作意味着非开发人员可以打开 Visual Studio、创建 WPF/Silverlight 应用、拖动某些控件并有效绕过公司施加的限制。 (当然,就目前而言,开发人员仍然可以创建一个使用原始 API 绕过这些限制的应用程序,但这需要更多的工作。

我可能对此有所了解,并且限制可能还有其他技术原因。

如果您对这是正确答案感到满意,您能否使用勾号将其标记为已接受,以帮助其他访问此帖子的用户?谢谢

【讨论】:

我同意一些事情,但有一点……我不能同意微软开发人员的观点。为什么我不能在抑制模式下使用此控件?如果我不能使用它们——我必须写很多代码。我想将 Lync 集成到我的应用程序中,但我不需要 Lync 客户端可见。在同一时间运行的不同程序中看到相同的控件可能是非常愚蠢的。那么,有客观原因吗? 不,我认为这与 COM 互操作无关 - 无论 UI 是否处于 Suppressed 模式,控件都可以使用底层 COM 组件

以上是关于为啥我们需要 Lync SDK 控件,如果它们不能在 UI 抑制模式下使用?的主要内容,如果未能解决你的问题,请参考以下文章

我们正在使用 Lync SDK 获取联系信息,但无法返回完整的电话号码列表

Lync SDK (Microsoft.Lync.Model)

联系电话号码 Lync SDK 2013

我可以将 Lync 2010 SDK 与 Visual Studio 2013 一起安装吗?

使用 lync sdk 注销特定的 lync 用户

UISuppressionMode 中 Lync SDK 支持的功能列表