【发布时间】:2015-09-01 17:44:22
【问题描述】:
我有以下用于启动 IM 对话的代码-
public void IMbtn_Click(object sender, RoutedEventArgs e)
{
var participants = new List<string>();
participants.Add("blabla.com");
if (_lyncAutomation != null)
{
var bridgeNames = _info.Bridges.Where(b => b.Selected && b.Enabled).Select(b => b.Name);
var chatTitle = $"{_info.Title} {string.Join(", ", bridgeNames)}";
string chat = "Welcome to test's chat!";
AutomationModalities mode = AutomationModalities.InstantMessage;
var convoSettings = new Dictionary<AutomationModalitySettings, object>();
convoSettings.Add(AutomationModalitySettings.Subject, chatTitle);
convoSettings.Add(AutomationModalitySettings.FirstInstantMessage, chat);
convoSettings.Add(AutomationModalitySettings.SendFirstInstantMessageImmediately, true);
try
{
_lyncAutomation.BeginStartConversation(mode, participants, convoSettings,
StartConversationCallback, null);
}
catch (LyncClientException lyncClientException)
{
MessageBox.Show("Call failed.");
Logger.Log("Exception while creating Lync call: " + lyncClientException);
}
catch (SystemException systemException)
{
if (IsLyncException(systemException))
{
MessageBox.Show("Call failed.");
Logger.Log("Error: " + systemException);
}
else
{
throw;
}
}
}
}
代码完美地创建了一个包含标题和所有内容的 IM convo;但是在我的环境中(使用 Skype for Business),第一条消息没有发送,尽管在朋友的环境中使用 Lync 2013 他没有发送第一条消息的问题。
有人听说过这样的事吗?
提前感谢您提供的任何帮助。
【问题讨论】:
-
你有没有想过@Brady?我正在尝试开始/发送一个简单的
Hello对话。并且一直在寻找/搜索有效的代码。你能让上面的代码工作吗? -
您在上面写的子,在我打开随附的解决方案文件后,我应该将它复制到我的 App.xaml.cs 文件中的哪里进行测试/工作?或者 MainWindow.Xaml.cs 这是我第一次写 C#。我指的是 .sln 文件,它是从我们从这里安装后获得的示例对话程序中获得的 link
-
上面的代码应该可以工作。如果你还没有让它工作,你应该把它放在你的 MainWindow.Xaml.cs 文件中,并在你的 .xaml 中添加一个点击事件到一个类似于 this-Click="IMbtn_Click" 的按钮
-
哦,唯一的问题是,这应该是与 Skype 帐户相关联的电子邮件地址-participants.Add("blabla.com");应该是参与者。添加(“blabla@blablabla.com”);即使它是一个虚假的电子邮件地址,它仍然可以工作,但我相信需要两个虚假的参与者才能创建一个群聊,所以你需要添加两次
标签: c# .net lync-2013 skype-for-business