この問題に関するいくつかの質問を見てきましたが、私の問題に対する適切な回答が見つかりませんでした。最初は、jsonを関数に記述した後、次のコードを使用していました
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.SuppressContent = True;
HttpContext.Current.ApplicationInstance.CompleteRequest();
Server cannot append header after HTTP headers have been sent
例外が発生していました。
だから私はコードを
try {
HttpContext.Current.Response.Write(Data);
HttpContext.Current.Response.End();
} catch (System.Threading.ThreadAbortException exc) {
try {
//Sends the response buffer
HttpContext.Current.Response.Flush();
// Prevents any other content from being sent to the browser
HttpContext.Current.Response.SuppressContent = true;
//Directs the thread to finish, bypassing additional processing
HttpContext.Current.ApplicationInstance.CompleteRequest();
} catch (Exception ex) {
//Log Exception
}
}
これらのコードはすべて関数内にあり(たとえば) writeData()
、 という関数によって呼び出されCallWriteData
ます。例外は関数で正常に処理されましたが、親関数で例外WriteData()
がスローされます。Thread was being aborted
CallWriteData
正直なところ、私のプロジェクトでは大きな問題ではありませんが、この厄介な問題を修正するといいでしょう。また、この例外 CallWriteData
は毎回ではありません(正常に処理される場合もあります)。