Contexte.Réponse.Fin() et le Fil a été interrompue

Je suis en train de fermer la réponse à l'aide de Context.Response.End mais recevoir le message d'erreur "Thread was being aborted".

Comment puis-je fermer correctement la réponse sans le déclenchement d'une exception?

try {
   Context.Response.Clear();
   Context.Response.ContentType = "text/html"; 
   //Context.Response.ContentType = "application/json";
   JsonObjectCollection collection = new JsonObjectCollection();
   collection.Add(new JsonNumericValue("resultcode", 1));
   collection.Add(new JsonStringValue("sourceurl", exchangeData.cUrl));
   collection.Add(new JsonStringValue("filename", fileName));
   collection.Add(new JsonStringValue("filesize", fileSize));
   collection.Add(new JsonStringValue("fileurl", Common.GetPDFURL + outputFileName));
   JsonUtility.GenerateIndentedJsonText = true;
   Context.Response.Write(collection);
  try {
     Context.Response.End();
  } catch (ThreadAbortException exc) {
     //This should be first catch block i.e. before generic Exception
     //This Catch block is to absorb exception thrown by Response.End
  }
} catch (Exception err) {

}

Résolu par moi-même, le code devrait ressembler à

try {
  Context.Response.End();
} catch (ThreadAbortException err) {

}
catch (Exception err) {
}
  • avez-vous le respose.fin à l'intérieur d'un bloc try catch?
  • J'ai ajouté mon code. Oui, j'ai ajouté Contexte.Réponse.Fin(); dans un bloc Try/catch et que vous voyez là est le principal bloc Try/catch qui est aussi attraper erreur "Thread a été interrompue".
  • Résolu par moi-même, le code devrait ressembler à try { } catch (ThreadAbortException err) { } catch (Exception err) { }
InformationsquelleAutor Tomas | 2010-03-04