J'utilise VSTS 2008 + C# + .Net 3.5 pour développer ASP.Net. Je veux vider tous les en-têtes de réponse renvoyés au client pour un fichier aspx spécifique. Des idées comment faire cela facilement?comment vider les en-têtes de réponse dans ASP.Net
Je sais comment utiliser la collection Response.Headers, mais ma confusion est où énumérer pour obtenir l'en-tête de réponse précis? Par exemple, si j'énumère dans Page_Load, tous les en-têtes de réponse ne peuvent pas être énumérés, mais si j'énumère après Response.Close, une exception sera levée.
Un conseil?
EDIT1: Rencontre avec l'exception suivante lors de l'utilisation OnPreRender dans VSTS 2008 mode débogage (par exemple en appuyant sur F5 pour déboguer)
{ "Cette opération nécessite IIS intégré mode pipeline."}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
using (StreamWriter writer = new StreamWriter("dump123.txt", true))
{
writer.WriteLine(DateTime.UtcNow + " Response headers");
foreach (string item in HttpContext.Current.Response.Headers.Keys)
{
writer.WriteLine(item + " : " + HttpContext.Current.Response.Headers[item]);
}
}
}
merci à l'avance, George
J'ai rencontré une exception non prise en charge. J'ai posté mon code dans edit 1 section de ma question originale, des idées ce qui ne va pas? – George2
Le message d'erreur signifie-t-il que je dois déployer dans IIS? J'ai essayé le même code fonctionne dans IIS. S'il vous plaît, aidez à confirmer. – George2
Si c'est une application ASP.NET comme vous le dites, c'est ** IS ** hébergé dans IIS! Est-il hébergé sur IIS7 ?? Dans ce cas, vous devez vous assurer que votre répertoire virtuel utilise le "mode ASP.NET classique" (au moins dans mon expérience) –