Solved

Object reference not set to an instance of an object. !ISPOSTBACK

Posted on 2009-07-16
3
395 Views
Last Modified: 2013-12-17
Hello,

I am getting the Object Reference message but I am confused because I did create an instance of the base class in the calling program " CheckProgramAccess CPA = new CheckProgramAccess()"

The error is being thrown within the .DLL at this statement:
"string TrackId = HttpContext.Current.Request.QueryString["track"].Substring(0,8) ;"

The Part 2 of the code is in a .dll which I am not allowed to change.  So my question is - two fold:
1). Why is this error happening since I did create an instance as demonstrated by CPA....and
2). How do I resolve this within my Part 1 code sniplet?

Thank you!
Part#1:
 protected void Page_Load(object sender, EventArgs e)
 
        {
        if (!IsPostBack)
            {
            CheckProgramAccess CPA = new CheckProgramAccess();
 
            if (!CPA.Authorized())
                {
                Response.Redirect("/asp/home.asp");
                }
            else
                {
 
                }
            }
=========
Part# 2:
 
public class CheckProgramAccess
	{
		public CheckProgramAccess()
		{
			//
			// TODO: Add constructor logic here
			//
		}
 
		public bool Authorized()
		{
			bool Authenticated = true;
			bool RtnCde = false ;
			string UpId = "" ;
			string TimeOut = "" ;
			string LogTime = "" ;
 
			try
			{
				string TrackId = HttpContext.Current.Request.QueryString["track"].Substring(0,8) ;
				string Program =  HttpContext.Current.Request.QueryString["program"].ToString() ;
	}
			catch(Exception ex)
			{
				string msg = ex.Message.ToString();
				Authenticated = false ;
			}
			return Authenticated;
		}

Open in new window

0
Comment
Question by:Muaadeeb
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 12

Accepted Solution

by:
GuitarRich earned 175 total points
ID: 24870383
The error is probably occuring because the Request.QueryString doesn't contain a "track" entry.
You should check for this before assigning it to a variable in the dll.
If you can't change the DLL - then check for it before the call to the DLL e.g

 protected void Page_Load(object sender, EventArgs e)
 
        {
        if (!IsPostBack)
            {
            if (Request.QueryString["track"] != null)
            {
                CheckProgramAccess CPA = new CheckProgramAccess();
 
                if (!CPA.Authorized())
                {
                    Response.Redirect("/asp/home.asp");
                }
                else
                {
 
                }
            }
        }

Open in new window

0
 
LVL 41

Assisted Solution

by:guru_sami
guru_sami earned 75 total points
ID: 24870413
looks you Request.QueryString["track"] is null...
When you are accessing you page ...are you passing queryString parameter track and program in the url....
What is the url of the Page?
0
 

Author Comment

by:Muaadeeb
ID: 24872218
Thanks guys you were right.   The query string was null and as a result the .DLL code had no idea what it was supposed to be referencing.


Thank you!

0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question