Réglage de l'en-tête d'authentification pour le contrôle WebBrowser - ASP.NET

Je suis en utilisant le contrôle WebBrowser dans mon asp.net application pour générer des captures d'écran de pages web. J'ai été en mesure de générer des images jusqu'j'ai changé le compte du pool d'applications. J'ai donné le nouveau pool d'applications de tous les droits nécessaires et je suis capable de parcourir mes pages de IE. Mais quand je navigue à travers le contrôle de navigateur web par programmation, je suis 401.2. J'ai setup "suivi des demandes ayant Échoué règles" dans mon IIS 7.0 et ont utilisé un violon pour renifler les demandes et j'ai trouvé que l'en-tête d'authentification n'est pas droit.

Mais le webbrowser.accédez a une méthode surchargée où l'on peut passer en-têtes http personnalisés. Comment puis-je le mettre? Je veux juste utiliser l'authentification intégrée et ne veux pas donner le nom d'utilisateur/mot de passe dans le code parce que je peut pas le savoir. Mais encore, j'ai essayé le code suivant à pas de chance.

System.Uri uri = new Uri(myUrl);
byte[] authData = System.Text.UnicodeEncoding.UTF8.GetBytes("user: passwd");
string authHeader = "Authorization: Basic " + Convert.ToBase64String(authData) + "\r\n";
myBrowser.Navigate(uri, "", null, authHeader);

Toutes les idées comment définir l'en-tête avec d'autres détails tels que le useragent trop?

OriginalL'auteur NLV | 2011-06-09