2009-08-06 9 views
2

Est-ce que quelqu'un sait comment puis-je obtenir l'adresse IP du client avec les services RIA. En WCF nous avons OperationContext pour cela. Mais cela ne fonctionne pas avec les services RIA.Obtenir l'adresse IP dans les services RIA WCF

+0

pas d'avis, je suppose qu'il y a maintenant un moyen de le faire ... –

Répondre

3

Vous pouvez utiliser HttpContext.Current et les API hors de ce jour ...

1

Vous pouvez utiliser un Invoke Operation dans votre DomainService pour obtenir l'adresse IP comme ceci:

[Invoke] 
public string GetIPAddress() 
{ 
    return HttpContext.Current.Request.UserHostName; 
} 

Dans le client vous devrait écrire:

YourContext context = new YourContext(); 

InvokeOperation invokeOperation = context.GetIPAddress(); 

invokeOperation.Completed += (s, args) => 
{ 
    if (invokeOperation.HasError) 
    { 
     MessageBox.Show("Error"); 
     invokeOperation.MarkErrorAsHandled(); 
    } 
    else 
    { 
     string ip = invokeOperation.Value.ToString(); 
    } 
};