使用连接参数连接到azure VM时,远程桌面ActiveX不会对connect命令作出反应。 ActiveX窗口保持白色,而不是显示远程桌面会话初始化。如何正确使用远程桌面客户端ActiveX连接到Azure?
.RDP文件样本
full address:s:<cloudservice>.cloudapp.net
username:s:<username>
LoadBalanceInfo:s:Cookie: mstshash=<role>#<roleinstance>
我使用嵌入在WPF WindowsFormsHost中的ActiveX。 (我已经使用另一个LAN Pc进行了测试,并且远程会话已成功建立。(提供服务器,用户名和密码)。
<WindowsFormsHostEx x:Name="m_host" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
FlowDirection="LeftToRight">
<axMstscLib:AxMsTscAxNotSafeForScripting x:Name="m_remoteDesktop"/>
</WindowsFormsHostEx>
尝试将这些信息嵌入ActiveX中时。命令没有反应。 连接值保持为“2”...并且没有OnConnected,OnDisconnected,OnFatalError,OnLogonError出现。
m_remoteDesktop.Server = "<cloudservice>.cloudapp.net";
m_remoteDesktop.UserName = "<username>";
IMsRdpClientAdvancedSettings settings = m_remoteDesktop.AdvancedSettings as IMsRdpClientAdvancedSettings;
if (settings != null)
{
settings.LoadBalanceInfo = "Cookie: mstshash=<Role>#<RoleInstance>";
settings.ClearTextPassword = "<rdp pass>";
}
m_remoteDesktop.Connect();
short connected = m_remoteDesktop.Connected;
答案 0 :(得分:3)
settings.LoadBalanceInfo最后需要“\ r \ n”才能生效。
settings.LoadBalanceInfo = "Cookie: mstshash=<Role>#<RoleInstance>"
到
settings.LoadBalanceInfo = "Cookie: mstshash=<Role>#<RoleInstance>\r\n"
只需添加即可解决问题。