• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 392
  • Last Modified:

Why is this website throwing StackOverflow exception

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
tatton777
Asked:
tatton777
  • 5
  • 4
1 Solution
 
Julian HansenCommented:
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
 
tatton777Author Commented:
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
 
käµfm³d 👽Commented:
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
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

 
tatton777Author Commented:
Thanks. Here is the website that contains a skeleton of that reproduces the error.
stckOverflowMockup.zip
0
 
käµfm³d 👽Commented:
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
 
tatton777Author Commented:
Sorry to be dumb. This is the first time I've experienced this. Can you give an example.
0
 
käµfm³d 👽Commented:
I don't have any clue as to what you're trying to achieve with your code. What is your "business" purpose here?
0
 
tatton777Author Commented:
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
 
käµfm³d 👽Commented:
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
 
tatton777Author Commented:
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now