奇怪的错误:对象引用未设置为对象的实例

本文关键字:设置 对象 实例 对象引用 错误 | 更新日期: 2023-09-27 18:00:51

我有时会在实时应用程序中遇到错误。

堆栈跟踪:

位于中的Tool.User_RequestSender.Page_Load(Object sender,EventArgs e(d: ''Site''Tool''User''RequestSender.aspx.cs:line 72System.Web.Util.CaliHelper.EventArgFunctionCaller(IntPtr-fp,对象o、 处的对象t,EventArgs e(System.Web.Util.CalliEventHandlerDelegateProxy.Callback(对象发送方,EventArgs e(位于System.Web.UI.Control.OnLoad位于的System.Web.UI.Control.LoadRecursive((System.Web.UI.Page.ProcessRequestMain(布尔值includeStagesBeforeSyncPoint,Boolean includeStagesAfterSyncPoint(

我一次又一次地尝试在我的机器上运行代码,但没能得到同样的错误。

即使我生活在代码中,我也会偶尔遇到这个问题。

RequestSender.aspx.cs:中的Page_Load代码

protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!IsPostBack)
            {
                this.LoadRequest();
            }
        }
        catch (CustomException ex)
        {
            this.ShowMessage(ex.Message);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

LoadRequest((如下所示:

private void LoadRequest()
    {
        Credential credential;

            if (
                !string.IsNullOrEmpty(Request["typeOfrequest"]) &&
                !string.IsNullOrEmpty(Request["empUserId"]) &&
                !string.IsNullOrEmpty(Request["applicationId"])
               )
            {
                // Get details of credentials
                credential = (new RequestManager()).GetCredential(this.EmpUserId, this.ApplicationId, (int)this.TypeOfrequest);
                this.applicaionRequest = new Request
                {
                    RequestType = this.TypeOfrequest,
                    RequestStatus = Enumerations.RequestStatus.Sent,
                    Application = credential.Application,
                    EmpUserId = credential.EmpUserId,
                    EmployeeId = credential.EmployeeId,
                    Username = credential.Username,
                    SenderAddress = Security.CurrentUser.Details.EmailAddress,
                    ReceiverAddress = (new Datastore.RequestStore()).GetReceiverAddress((int)this.TypeOfrequest, this.ApplicationId),
                    AddedBy = Security.CurrentUser.Details.UserId
                };
                    ucSendRequest.ApplicationRequest = applicaionRequest;
            }
            else
            {
                Response.Write("Invalid request!");
                Response.End();
            }
        }
    }

奇怪的错误:对象引用未设置为对象的实例

Error明确指出在应用程序执行期间smth是null

要获得任何帮助,您应该检查null值(LoadRequest()中的Request可能是一个很好的候选者(,或者,更好的解决方案是,修改捕获日志以记录是哪个参数导致应用程序崩溃。