Solved

Why is this website throwing StackOverflow exception

Posted on 2013-06-13
10
371 Views
Last Modified: 2013-06-15
Hello,
I am creating instances of objects within my website so I can use them. Why is this throwing stackoverflow. Here is a mockup of the partical classes and classes. Error is firing in MSF_Methods class on the "private SessionVariables sv = new SessionVariables()"

website root partial class Default.aspx code behind:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using UserSession;
using MySchoolFeesMethods;
public partial class _Default : System.Web.UI.Page
{
    private SessionVariables sv = new SessionVariables();
    private MSF_Methods MSF = new MSF_Methods();
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

Open in new window




these four classes are in app_code folder
using System;
using MySchoolFeesStrings;
using MsfSisMethods;
using UserSession;

namespace MySchoolFeesMethods
{
    public class MSF_Methods
    {
        private SessionVariables sv = new SessionVariables(); // Overflow on this line
        private MSF_Strings STG = new MSF_Strings();
        private MSF_SIS SIS = new MSF_SIS();
    }
    // End Namespace Block
}

Open in new window




using System;
using System.Linq;
using UserSession;
using MySchoolFeesMethods;
using MySchoolFeesStrings;


/// <summary>
/// Summary description for MSF_SIS
/// </summary>
/// 
namespace MsfSisMethods
{
    public class MSF_SIS
    {
        private SessionVariables sv = new SessionVariables();
        private MSF_Methods MSF = new MSF_Methods();
        private MSF_Strings STG = new MSF_Strings();
    }
}

Open in new window




using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using UserSession;
using MySchoolFeesMethods;

/// <summary>
/// Summary description for MSF_Strings
/// </summary>
/// 
/// 
namespace MySchoolFeesStrings
{
    public class MSF_Strings
    {
    }
}

Open in new window




using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using MySchoolFeesMethods;
using System.Collections;
using MySchoolFeesStrings;

namespace UserSession
{

    /// <summary>
    /// Summary description for clsSessionVariables.
    /// </summary>
    public class SessionVariables
    {
    }
}

Open in new window

0
Comment
Question by:tatton777
[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
  • 5
  • 4
10 Comments
 
LVL 57

Expert Comment

by:Julian Hansen
ID: 39246829
Is this exactly how your code looks or have you just provided a skeleton?

Is there any code defined in
public class SessionVariables
{
}

Open in new window

?
0
 
LVL 1

Author Comment

by:tatton777
ID: 39248861
This is just a skeleton but it produces the same error. I tried to attach a .zip of the website the code above but zip was rejected by experts-exchange.
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 39249022
You have to remove the bin and obj folders as well as any *.settings files and the project should upload fine. Alternatively, you might try using www.ee-stuff.com to upload the file. It's not hosted by EE, but it is affiliated, in a roundabout way (not officially).
0
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

 
LVL 1

Author Comment

by:tatton777
ID: 39249036
Thanks. Here is the website that contains a skeleton of that reproduces the error.
stckOverflowMockup.zip
0
 
LVL 75

Accepted Solution

by:
käµfm³d   👽 earned 500 total points
ID: 39249072
Your problem is here:

MSF_Methods
public class MSF_Methods
{
    private SessionVariables sv = new SessionVariables();
    private MSF_Strings STG = new MSF_Strings();
    private MSF_SIS SIS = new MSF_SIS();
}

Open in new window


MSF_SIS
public class MSF_SIS
{
    private SessionVariables sv = new SessionVariables();
    private MSF_Methods MSF = new MSF_Methods();
    private MSF_Strings STG = new MSF_Strings();
}

Open in new window


Each class creates an instance of the other. You need to refactor.
0
 
LVL 1

Author Comment

by:tatton777
ID: 39249242
Sorry to be dumb. This is the first time I've experienced this. Can you give an example.
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 39249348
I don't have any clue as to what you're trying to achieve with your code. What is your "business" purpose here?
0
 
LVL 1

Author Closing Comment

by:tatton777
ID: 39249383
I have a foundational misunderstanding uf classes and namespaces. This helped me understand where the softness in my thinking is. Now I just need to do some reading and researching.
0
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 39249407
I hope I didn't run you off with my previous comment. It wasn't intended to sound off-putting. I only intended to convey that it would be difficult for me to tell you how to adjust the code without knowing what your goal is. The short answer to your question is to either remove:

private MSF_SIS SIS = new MSF_SIS();
...from MSF_Methods *or* remove:

private MSF_Methods MSF = new MSF_Methods();

...from MSF_SIS, either of which may break your design. It depends on what you are trying to accomplish  = )
0
 
LVL 1

Author Comment

by:tatton777
ID: 39250273
Thanks. After doing some reading on organizing classes and namespaces and folders I am seeing that I have some restructuring to do. Thanks for your help! Take care.
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

737 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