ASP.NET ToolkitScriptManager AsyncPostBackError - генерировать исключение со страницы содержимого - PullRequest
2 голосов
/ 15 февраля 2012

Интересно, если кто-нибудь может помочь.Я пытаюсь реализовать ToolScriptManager OnAsyncPostBackError.

ToolkitScriptManager находится на главной странице, и я установил свойство OnAsyncPostBackError:

<ajax:ToolkitScriptManager ID="ToolkitScriptManager" 
    runat="server" EnablePartialRendering="true" 
    OnAsyncPostBackError="ScriptManager_AsyncPostBackError">
</ajax:ToolkitScriptManager>

На своей странице содержимого я ловлю исключение и, регистрируя его, а затем выбрасывая его

    private void LogError(Exception ex, bool full)
    {
        ...
        _presenter.LogError(this, error, ex);

        throw new ApplicationException(
            "Error Occured",
            ex
            );

    }

где он затем обрабатывается обработчиком на мастер-странице

    protected void ScriptManager_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
    {
        if (e.Exception.Data["GUID"] != null)
        {
            string _message =
           (
                e.Exception.InnerException != null
            ) ? e.Exception.InnerException.Message : e.Exception.Message;

            ToolkitScriptManager.AsyncPostBackErrorMessage = _message +
                " When reporting this error use the following ID: " +
                e.Exception.Data["GUID"].ToString();
        }
        else
        {
            ToolkitScriptManager.AsyncPostBackErrorMessage =
                "The server could not process the request.";
        }
    }

Все это работает, как и ожидалось, я улавливаю ошибку через PageRequestManager EndRequest и отображаю наpage

Проблема заключается в том, что в моем Global.asax появляется ошибка Application_Error, в которой говорится, что было сгенерировано исключение типа 'System.Web.HttpUnhandledException'.

Мне кажется, я понимаю, потому что я выкидываю исключение, которое не улавливается предполагаемым уловом?!

Любой совет, что мне не хватает, или куда на самом деле я идуне так?

Заранее спасибо!

Ян

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...