Bonjour,
j'ai une application qui dois interagire plusieur fois avec un serveur. Pour chaque actions l'application doit donc se connecter.
Donc naturellement j'ai commencer à coder comme cela.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| private void buttonAffichePanda_Click(object sender, RoutedEventArgs e)
{
AlphaWPF.AccueilDataContext.AccueilDataContext dc =
new AccueilDataContext.AccueilDataContext(
new Uri("http://80.248.210.26/Lists/ListePanda/_layouts/_vti_bin/ListData.svc"));
dc.Credentials = System.Net.CredentialCache.DefaultCredentials;
dc.Credentials = new System.Net.NetworkCredential("Administrateur", "Alabam@123*");
var source = dc.ListePanda;
listBoxAffichePanda.Items.Clear();
foreach (var panda in source)
{
string nomPanda = panda.Nom + " : " + panda.Race + " : " + panda.DateDeNaissance;
listBoxAffichePanda.Items.Add(nomPanda);
}
} |
Jusque là tout va bien. Cependant si je veux faire une autre action je dois répéter la phase de connexion. Mais c'est je trouve un peu lourd. Et j'aimerai avoir un bouton connexion qui log l'application une bonne fois pour toute.
J'ai donc commcer à faire cela.
1 2 3 4 5 6 7 8
| public void connexion (string unLog, string unMdp)
{
AlphaWPF.AccueilDataContext.AccueilDataContext dc =
new AccueilDataContext.AccueilDataContext(
new Uri(URL));
dc.Credentials = System.Net.CredentialCache.DefaultCredentials;
dc.Credentials = new System.Net.NetworkCredential(login, mdp); |
et je l'ai appellé.
1 2 3 4 5 6
| public MainWindow()
{
this.connexion(login, mdp);
InitializeComponent();
} |
Le soucie c'est que quand je compile je n'ai pas l'impréssion de mettre connecté. de plus là ma méthode est public mais si je fais un bouton connexion elle sera de type private donc la l'instanciation de dc ne se fera que entre les accolades de connexion non ? (Ce qui n'est pas très pratique)
Du coup autre problème que ma connexion soulève c'est que cette ligne
var source = dc.ListePanda;
Ne peux s'excuter car non instancié.
Voila je pense avoir en résumé mon soucie. Je suis portant sur que la connexion qui est partout doit avoir une méthode de se traiter, mais j'ai pas trouver et j'ai épuissé toutes mes idée. Si vous avez donc de nouvelle piste à me proposer j'écoute avec attention.
ps : Pour le moment je tente de gérer un maximum d'exception possible, j'espère que une fois finis ça m'aura donner une idée pour le bouton connexion.
Partager