Je n'ai jamais utilisé de gestionnaires HTTP auparavant, et j'en ai un qui fonctionne, mais je ne suis pas sûr de l'utiliser correctement. J'ai généré une chaîne qui sera enregistrée en tant que fichier CSV. Lorsque l'utilisateur clique sur un bouton, je souhaite que la boîte download dialog
s'ouvre afin que l'utilisateur puisse enregistrer le fichier. Ce que j'ai fonctionne, mais je continue à lire sur la modification du fichier web.config
et je n'ai pas eu à le faire.Est-ce que j'utilise des gestionnaires de la mauvaise façon?
Mon Handler:
private string _data;
private string _title = "temp";
public void AddData(string data)
{
_data = data;
}
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/csv";
context.Response.AddHeader("content-disposition","filename=" + _title + ".csv");
context.Response.Write(_data);
context.Response.Flush();
context.Response.Close();
}
Et cela vient de la page qui permet à l'utilisateur de télécharger: (sur le bouton clic)
string dataToConvert = "MYCSVDATA....";
csvHandler handler = new csvHandler();
handler.AddData(dataToConvert);
handler.ProcessRequest(this.Context);
Cela fonctionne très bien, mais pas d'exemples que j'ai vu jamais instancier le gestionnaire et semble toujours modifier le web.config. Est-ce que je fais quelque chose de mal?
Merci
Merci pour la réponse. Je l'avais à l'origine dans la page de code, mais j'ai lu un post de forum où quelqu'un a dit qu'il serait plus efficace d'utiliser un gestionnaire pour permettre aux utilisateurs de télécharger. Je suppose que leur scénario a dû être différent (c'est-à-dire faire plus que simplement utiliser la propriété de réponse). – XSL