i'm building a web application with asp.net c# and i have a class that i want to use in multiple pages witouth instantiate it every time. I need to load the data in it and never lose them during the user session time. I thought about the singleton-pattern but it shared the instance of the class beetween browsers.
I have a class which fetches the data from the database. Say First name, Last name , Telephone number etc and display it in my .aspx page. This data is common to all the users. So i would like to use Singleton pattern so that the object is not created again ,just use the created object for all the users. Can any one help me with the simple code snippet example.
I have a web application where I would like to pull user settings from a database and store them for Global access. Would it make more sense to store the data in a Singleton, or a Session object? What's the difference between the two?Is it better to store the data as an object reference or break it up into value type objects (ints and strings)?
I am working on singleton desing patterns and want some real world example of design patterns.Can you please give me an example how you have used singleton pattern in you project. I would appreciate if you can provide code.
I'm developing a blog application shared by non-profit organizations. I want each organization to be able to change their own blog settings. I have taken a singleton pattern (from BlogEngine.net) and modified it. (I understand that it is no longer a singleton pattern.) I have tested this approach and it seems to work fine in a development environment. Is this pattern a good practice? Are there issues, which may arise when this is placed in a production environment?
public class UserBlogSettings { private UserBlogSettings() { Load(); } public static UserBlogSettings Instance { get { string cacheKey = "UserBlogSettings-" + HttpContext.Current.Session["userOrgName"].ToString(); object cacheItem = HttpRuntime.Cache[cacheKey] as UserBlogSettings; if (cacheItem == null) { cacheItem = new UserBlogSettings(); HttpRuntime.Cache.Insert(cacheKey, cacheItem, null, DateTime.Now.AddMinutes(1), Cache.NoSlidingExpiration); } return (UserBlogSettings) cacheItem; } } }
I have a whole bunch of data access methods where in each one I am doing this
[Code]....
and them moving on with my SqlCommand and SqlDataReader and so on.Is this creating to many instances of an SQLConnection?I was thinking doing this instead. Creating a SqlConnection Manager which would look like this
[Code]....
and then in my database access methods
[Code]....
Is this a good or bad idea and why?Also would this even be neccesary?
I know what Singleton Pattern means and Abstract class means.What I wanted to know was how would this apply to real world.Could anyone give me any good example or simple explanation.Say I have a simple website, why would I use any of the above if any.Why would it simplify my architechture.
If I were to use singleton pattern for menu, would that cause that menu to be created once for application session or once for each user session. Obviously, I want something that will create menu items once per application session.
want to make sure I am not assuming something foolish here, when implementing the singleton pattern in an ASP .Net web application the static variable scope is only for the current user session, right? If a second user is accessing the site it is a different memory scope...?
In one of the interview, I was asked why should we have to go for Single Design pattern, instead of just creating static methods. Because creating static methods also serve the same purpose, i.;e avoiding flooding of objects.
I need to create a singleton that would hold lots of data for a spedesign patterns - Singleton behavior with multi-user requests in ASP.NETcific user. However, I am not unclear as to what the behavior of that singleton is in regard to multi-user app requests.
Here is the scenario:
On AppStart event I want to load common data for all users (from SQL) and store it as a collection somewhere within the ASP.NET storage mechanisms.
If I store that data in the cache, I would also have to create a static property in the Global.asax that would provide access to that the data from the cache.
This is not ideal because whenever an instance of any particular page, or generic handler, or what have you tries to query this data using Linq the property has to load the data from the cache... introducing latency. I need this data to be immediately available. (think of it as about 5K rows of data stored in collection of objects...)
I was thinking to use a singleton to get that data, and store it but I don't know how it would behave between requests (and postbacks), as well as application instances, in terms of its persistence.
On PostAuthenticate event I want to get user specific data from SQL in the form of a collection. If i store it as a singleton (in a similar manner as the common data) i am not clear as to:
How is the data persisted? What is the scope of that singleton (it should be for the duration of the user session). How can I ensure that the data is immediately available to whatever needs to consume it? What happens between post-backs to that singleton? If another user logs in would another instance of that singleton be created for that specific application instance?
We have an ASP.NET MVC site that uses Entity Framework abstractions with Repository and UnitOfWork patterns. What I'm wondering is how others have implemented navigation of complex object graphs with these patterns. Let me give an example from one of our controllers:
[code]....
It's a registration process and pretty much everything hangs off the POCO class Person. In this case we're caching the person through the registration process. I've now started implementing the latter part of the registration process which requires access to data deeper in the object graph. Specifically DPA data which hangs off Legal inside Country.
The code above is just mapping out the model information into a simpler format for the ViewModel. My question is do you consider this fairly deep navigation of the graph good practice or would you abstract out the retrieval of the objects further down the graph into repositories?
Does anyone have a working pattern for converting a GET-POST-GET pattern to asny?
I'm encountering the following issues:
1. You cannot mix Sync and Async action methods SubmitForm(), SubmitFormAsync(bool? confirm), SubmitFormCompleted() ... (because the resolver gets all confused ... it doesn't use the HTTP verb to decide who to target. BTW: I think that's poor design, or a bug)
2. Renaming the get method name to something else eg: SubmitFormConfirmation(), SubmitFormAsync(bool? confirm), SubmitFormCompleted() would be very awkward if it works ... because you have to doctor the <form markup to specify an action name.
3. You cannot give them all async names SubmitFormAsync(), SubmitFormAsync(bool? confirm), submitFormCompleted(), because the call just keeps malfunctioning. It sometime even behaves as if you are requesting a delete of something.
Can someone give an insight from an actually working sample.
Now that the next version of ASP.NET MVC is being prototyped and previewed (ASP.NET MVC 3 Preview 1 came out a couple of weeks ago), I wonder if we should call the attention of the Core Dev team (S Hanselman, Phil Haack and all) to this "feature."there a easy/non tacky way of associating subdomains → areas?Something like: [URL]Also, whats the best accepted design pattern in implementing PRG pattern in ASP.NET MVC? I guess it should also get some official loving in MVC 3.
We have a big portal that needs user registration to allow them use its services. It's already done in .NET and SOL Server 2005. we are in the phase now of discovering all the problems of the current registration system to build a new robust flexible one that can be extended easily and can be more usable for all services.
I'm writing an ASP.NET app. I need to include a page where the user can add an item which has several sets of subitems, each of which sets is unlimited in number. The subitems themselves contain between 10 and 15 fields, so need a fair bit of UI space.
As an example of what I mean, the user needs to be able to add a Business record to the system, including any number of Employee records and any number of Asset records.
The way I normally do this is by using a MultiView control with a set of tabs at the top. The tabs switch between the Views of the MultiView. The first tab will be for the Business record, the second will be for Employee records, and the third for Asset records. The Views for Employees and Assets are initially empty bar a button to add a new Employee (or Asset). When this button is clicked, the page is posted back and a user control is added dynamically to capture the details of the Employee (or Asset).
There is one save button that saves the whole object graph to the database.
This is quite complicated to program and maintain and I usually encounter headaches to do with managing ViewState for the dynamic user controls. Obviously, the ViewState on the page can also become quite large, making the page quite slow.
The advantage is that it is quite an intuitive UI for the user to understand, and the user can add everything and check it all before saving anything to the database.
I have a lot of Singleton implementation in asp.net application and want to move my application to IIS Web Garden environment for some performance reasons.
CMIIW, moving to IIS Web Garden with n worker process, there will be one singleton object created in each worker process, which make it not a single object anymore because n > 1.
can I make all those singleton objects, singleton again in IIS Web Garden?
I have an web application written in ASP.NET (FW 3.5) (along with some VBScript, this is a legacy app) that uses a utility class in the backend that logs error. I need to log several values that a user has entered in the front-end. Since the utility class has no access to the front end (or any HTTP services), i created a singleton class within the utility namespace that my front end UI can access and store information about the user.
I guess more specifically, I am wondering if there's a way to store session variables that can be shared across the web application and web services through a class referenced by both of the application and web services. For example, I have an error handling class that is used by both instances that required information about the user. Is there a way to create a per-session singleton to hold that information, so that my error class will have access to the user info? or is this not possible - that i'll need to pass the information around as they are needed?
I am creating a singleton object in the first request to the web service and keeping it in the memory. This works fine for first few seconds. If I make a request 5 minutes later, I can see that the singleton object is created again? is my singleton object getting disposed after x no of minutes? how can i make increase the life-time of my object forever ?
public sealed class Singleton { static ServerInstance instance = null; static readonly object padlock = new object(); Singleton() { } public static ServerInstance Instance { get { lock (padlock) { if (instance == null) { instance = new ServerInstance(); } return instance; } } } ~Singleton() { #if DEBUG ExceptionFactory.Fatal("~Singleton() called!"); #endif } } [WebMethod] public string OnReceiveEvent(string objectXmlData, string objectType) { if (!Singleton.Instance.initServerComplete) { InitServer(); } return Singleton.Instance.OnReceiveEvent(objectXmlData, objectType); } public void InitServer() { if (!Singleton.Instance.initServerComplete) { Singleton.Instance.InitServer(); Singleton.Instance.initServerComplete = true; GC.KeepAlive(Singleton.Instance); } }
Quick question regarding the use of Singleton lifestyle in Windsor, and Asp.Net MVC. If the following class is registered as a singleton am I correct in thinking that I will have a race condition?
public class UserMapper : IMap { public void Map(MyDto dto, MyDomain domain)[code]...
I have some confusion with singleton class, below are my some points:
1.Can singleton class have static method?,if yes then how we call that methods? 2.what is main difference between Static class and Singleton Class?
I have created my singleton class as follows:
[Code]....
In Above class structure I have created two method one is Static and second is non static, When I am trying to access Static Method it gives me compile time error.