2010-11-14 2 views
0

J'ai besoin d'avance. J'envoie une requête HTTP GET et j'analyse la réponse HTML, si la réponse HTML (chaîne html) consiste en une sous-chaîne, je veux envoyer à l'application cliente, (application WPF) un message d'erreur/d'avertissement.WPF, gérer avec message d'erreur et d'avertissement

Dans ma solution, si la chaîne html consiste en une sous-chaîne je lance une nouvelle exception, c'est stupide, quelle solution convient à ce problème?

Code

est ici:

class MyClass 
{ 
//..... 

private bool SendRp(string postData) 
    { 
    bool result = false; 

    const string parameters = @"&lok=1&rpI=3"; 
    string htmlStringResult = HttpPostReq(
     new Uri(string.Format(CultureInfo.InvariantCulture, "{0}{1}{2}", PokecUrl.Rp, Account.SessionId, parameters)), postData); 
    try 
    { 
     if (htmlStringResult.ToLower(new CultureInfo("sk-Sk")).Contains("is is empty")) 
     { 
     throw new ArgumentException("ID is empty!"); 
     } 
     if (htmlStringResult.ToLower(new CultureInfo("sk-Sk")).Contains("id does not exist")) 
     { 
     throw new ArgumentException("ID does not exist."); 
     } 
     if (htmlStringResult.ToLower(new CultureInfo("sk-Sk")).Contains("blocked")) 
     { 
     throw new WebException("Your ID is blocked!"); 
     } 
     if (!htmlStringResult.ToLower(new CultureInfo("sk-Sk")).Contains("message was send")) 
     { 
     Match match = Regex.Match(htmlStringResult, @"\bhs=\w{15}\b"); 

     if (match.Success) 
     { 
      result = true; 
     } 
     else 
     { 
      throw new Exception("Some problem"); 
     } 

     } 
     return result; 
    } 
    catch (Exception exception) 
    { 
     throw exception; 
    } 
    } 

} 

Répondre

0

Je ne sais pas si je compris ce qui est est votre problème. Vous pouvez lancer une exception sur votre classe "Web requester", puis intercepter l'exception sur votre classe d'interface utilisateur pour afficher un message.

La meilleure façon de montrer un message est d'utiliser MessageBox:

MessageBox.Show("Hello MessageBox"); 
+0

je pensais sur l'utilisation CodeContract. http://blogs.msdn.com/b/hakoman/archive/2010/11/02/code-contracts-a-brilliant-way-to-do-validation-in-your-code-and-even-more. aspx. –

Questions connexes