Subject: autoconnect with matrix
Hello,
I would like to connect a user automatically when the application started but I have a exception "System.UnauthorizedAccessException: Invalid cross-thread access error"
I use silverlight client sample.
Roster.xaml.cs
Thanks.
I would like to connect a user automatically when the application started but I have a exception "System.UnauthorizedAccessException: Invalid cross-thread access error"
I use silverlight client sample.
Roster.xaml.cs
public Roster(XmppClient client)
{
InitializeComponent();
_xmppClient = client;
_presManager = new PresenceManager(_xmppClient);
_xmppClient.OnRosterStart += new EventHandler<Matrix.EventArgs>(_xmppClient_OnRosterStart);
_xmppClient.OnRosterItem += new EventHandler<RosterEventArgs>(_xmppClient_OnRosterItem);
_xmppClient.OnRosterEnd += new EventHandler<Matrix.EventArgs>(_xmppClient_OnRosterEnd);
_xmppClient.OnClose += new EventHandler<Matrix.EventArgs>(_xmppClient_OnClose);
_xmppClient.OnMessage += new EventHandler<MessageEventArgs>(_xmppClient_OnMessage);
_xmppClient.OnAuthError += new EventHandler<Matrix.Xmpp.Sasl.SaslEventArgs>(_xmppClient_OnAuthError);
_xmppClient.OnLogin += new EventHandler<Matrix.EventArgs>(_xmppClient_OnLogin);
_xmppClient.OnError +=new EventHandler<ExceptionEventArgs>(_xmppClient_OnError);
_presManager.OnAvailablePresence += new EventHandler<PresenceEventArgs>(presManager_OnAvailablePresence);
_presManager.OnUnavailablePresence += new EventHandler<PresenceEventArgs>(presManager_OnUnavailablePresence);
[color=crimson]Connect();[/color]
}
private void Connect()
{
/* TEST AUTOCONNECT */
login.txtJid.Text = "MyUser";
login.txtPassword.Password = "MyPass";
_xmppClient.Username = login.Jid.User;
_xmppClient.Password = login.Password;
_xmppClient.XmppDomain = login.Jid.Server;
_xmppClient.Port = 4502;
_xmppClient.AutoPresence = false;
_xmppClient.Priority = 10;
// status and show for Autopresence after login
_xmppClient.Status = "online";
_xmppClient.Show = Matrix.Xmpp.Show.NONE;
_xmppClient.Open();
}
{
InitializeComponent();
_xmppClient = client;
_presManager = new PresenceManager(_xmppClient);
_xmppClient.OnRosterStart += new EventHandler<Matrix.EventArgs>(_xmppClient_OnRosterStart);
_xmppClient.OnRosterItem += new EventHandler<RosterEventArgs>(_xmppClient_OnRosterItem);
_xmppClient.OnRosterEnd += new EventHandler<Matrix.EventArgs>(_xmppClient_OnRosterEnd);
_xmppClient.OnClose += new EventHandler<Matrix.EventArgs>(_xmppClient_OnClose);
_xmppClient.OnMessage += new EventHandler<MessageEventArgs>(_xmppClient_OnMessage);
_xmppClient.OnAuthError += new EventHandler<Matrix.Xmpp.Sasl.SaslEventArgs>(_xmppClient_OnAuthError);
_xmppClient.OnLogin += new EventHandler<Matrix.EventArgs>(_xmppClient_OnLogin);
_xmppClient.OnError +=new EventHandler<ExceptionEventArgs>(_xmppClient_OnError);
_presManager.OnAvailablePresence += new EventHandler<PresenceEventArgs>(presManager_OnAvailablePresence);
_presManager.OnUnavailablePresence += new EventHandler<PresenceEventArgs>(presManager_OnUnavailablePresence);
[color=crimson]Connect();[/color]
}
private void Connect()
{
/* TEST AUTOCONNECT */
login.txtJid.Text = "MyUser";
login.txtPassword.Password = "MyPass";
_xmppClient.Username = login.Jid.User;
_xmppClient.Password = login.Password;
_xmppClient.XmppDomain = login.Jid.Server;
_xmppClient.Port = 4502;
_xmppClient.AutoPresence = false;
_xmppClient.Priority = 10;
// status and show for Autopresence after login
_xmppClient.Status = "online";
_xmppClient.Show = Matrix.Xmpp.Show.NONE;
_xmppClient.Open();
}
Thanks.