2009-08-07 4 views
1

J'ai deux projets ASP.NET dans ma solution et exécutés sur différents ports localhost lorsque je commence le débogage. J'ai un gestionnaire générique dans le site A, qui est appelé par le site B:Appel à travers deux hôtes locaux Visual Studio avec WebClient

String url = "http://localhost:1234/UrlOnSiteA.ashx"; 
WebClient client = New WebClient(); 
client.Credentials = CredentialCache.DefaultNetworkCredentials; 
client.OpenRead(url); 

L'appel OpenRead déclenche une exception avec une erreur 500, et je ne sais pas pourquoi. Le message d'erreur est:

System.Net.WebException: The remote server returned an error: (500) Internal Server Error.

Autres infos:

  • Un point d'arrêt sur la première ligne du code de gestionnaire n'est pas touché.
  • Le gestionnaire s'exécute correctement (et frappe le point d'arrêt) lorsque son URL est utilisée dans un navigateur.
  • Visual Studio 2008 Professional, exécutant des sites .NET 2.0.

Je suppose que c'est un problème de configuration. Des idées?

+1

Avez-vous eu de la chance? Est-ce que l'une des étapes de diagnostic de ma réponse était utile? –

+0

Merci d'avoir répondu Justin. Bonnes suggestions, mais ayant obtenu un badge tumbleweed pour la question j'ai déménagé, et n'ont pas vraiment besoin de le réparer plus. Je vais accepter votre réponse pour l'exhaustivité. – harriyott

Répondre

1

Je diagnostiquerais ceci d'abord en trouvant ce qui cause l'exception. Examinez la propriété Response de WebException et lisez le code HTML renvoyé. Des indices? (Vous devrez peut-être désactiver les erreurs personnalisées dans votre web.config pour voir la réponse d'erreur réelle.)

Une autre approche pour obtenir les mêmes informations de réponse serait d'utiliser Fiddler, et de définir le proxy de votre appel WebClient au Fiddler adresse proxy. Ensuite, vous pouvez utiliser fiddler pour voir la réponse HTML.

Une approche légèrement différente consisterait à modifier les paramètres Exceptions dans Visual Studio pour entrer dans le débogueur chaque fois qu'une exception WebException est levée. Vous pouvez le faire à partir de la boîte de dialogue Debug ... Exceptions ....

Questions connexes