Поток “Исключения ASP.NET прерывался” метод причин для выхода

Я думаю, что это может помочь вам:

CREATE PROCEDURE DEPT_COUNT
(
    @DEPT_NAME VARCHAR(20), -- Input parameter
    @D_COUNT INT OUTPUT     -- Output parameter
    -- Remember parameters begin with "@"
)
AS -- You miss this word in your example
BEGIN
    SELECT COUNT(*) 
    INTO #D_COUNT -- Into a Temp Table (prefix "#")
    FROM INSTRUCTOR
    WHERE INSTRUCTOR.DEPT_NAME = DEPT_COUNT.DEPT_NAME
END

Затем вы можете позвонить SP следующим образом, например:

DECLARE @COUNTER INT
EXEC DEPT_COUNT 'DeptName', @COUNTER OUTPUT
SELECT @COUNTER
21
задан Dale K 13 October 2019 в 22:15
поделиться

2 ответа

Это исключение ThreadAbortException ; это специальное исключение, которое автоматически повторно генерируется в конце каждого блока catch, если вы не вызываете Thread.ResetAbort () .

методы ASP .Net, такие как Response.End или Response.Redirect (если вы не передаете false ) генерирует это исключение, чтобы завершить обработку текущей страницы; ваш someFunctionCall () , вероятно, вызывает один из этих методов.

ASP .Net сам обрабатывает это исключение и вызывает ResetAbort для продолжения обработки.

34
ответ дан 29 November 2019 в 21:06
поделиться

Попробуйте так :

Это мой метод расширения :

 public static void WriteJSONObject(this HttpResponse response, object content) {
            response.ContentType = "application/json";
            response.Write(new JavaScriptSerializer().Serialize(content));
            response.End();

 }

И логика :

public void RegisterUser() {
    try {
        Response.WriteJSONObject(new { Result = "See hello" });
    } 
    catch (Exception err) {
        if (err.Message != "Thread was being aborted.")
            Response.WriteJSONObject(new { Result = err.Message });
        else {
            Response.End();
        }
    }
}
-2
ответ дан 29 November 2019 в 21:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: