Ceci est une suite à Choosing a Connection String based on kind of request pour lequel je n'ai pas eu de réponse et ce que je pensais ne fonctionnait pas.Différencier l'application client et le navigateur dans le service Web ASMX?
Je dispose d'un service Web qui doit choisir une chaîne de connexion spécifique en fonction de l'utilisateur qui l'appelle à partir d'un navigateur ou d'une application cliente.
J'ai essayé:
HttpContext.Current != null? ConnectionStrings["Website"].ConnectionString : ConnectionStrings["Client"].ConnectionString
mais a réalisé que, à un moment donné, même si j'utilise l'application cliente, il y a un certain HttpContext (si quelqu'un peut expliquer pourquoi il serait génial) mais le champ Browser
sous Request
est "Unknown"
. Alors, j'ai essayé:
if (HttpContext.Current != null)
{
if (HttpContext.Current.Request.Browser != "Unknown")
{
//browser connection string here
}
else
//client app connection string here
}
else
//client app connection string here
Cette merveilles a travaillé lors du débogage, mais sur l'environnement de test, il pointe toujours à la chaîne de connexion du navigateur, même lors de l'appel de l'application cliente, comme si, à un moment donné que le navigateur est « inconnu "...
Existe-t-il une façon BEAUCOUP plus simple/plus facile de faire cela? La façon dont je le fais semble vraiment moche.
Je suis tout à fait désespérée au moment que je ne sais pas pourquoi cela se passe ..
Eh bien, vous devez enregistrer la valeur 'Browser' pendant les tests, et voir ce que c'est réellement. –
Pouvez-vous ajouter plus de détails? Utilisez-vous WCF ou WebMethods? Comment le navigateur accède-t-il à vos services Web? Pas par SOAP, je présume? –
Kirk, j'utilise WebMethods. Je vais essayer cette suggestion Robert. –