Creating An Scalable MVC Website Without Using Session?
Sep 16, 2010
I'm working on a Web project using Asp.Net MVC, which I'll have to deploy to a farm environment.
I've read a lot of articles and I'm thinking on disabling completely the SessionState, I think this would make a more robust application, and will save me a couple of headaches (Everything I've read tells me that handling sessions on a farm isn't trivial).
There are some things that I still don't have totally clear with this approach though, the main one being the authentication/authorization process. Basically I'm not sure of how (if?) I can handle user sessions if there's no SessionState enabled on the server.
If a user logs into the web site and then tries to access another page, how can I know that the user is already logged in?
I know using cookies is insecure, I thought of a mix of cookies with the session Id stored in the DB, but I suppose that if I disable SessionState I won't have access to the session id either.
Thinks at a backgammon online multiplayer game with over 100, or even 1000 online users. The game communication is done using Ajax + 3 seconds Comet connection interval + ASP.NET technology. Is this a real scenario ?
Didn't so many Comet open connections block the server resulting in big latency ?
I got experience in ASP.NET application development. Now I want to develop my own application that should support huge traffic and it should be scalable. My site publishes news, videos and images.
Having already experienced in ASP.NET, whether it is fine to go with ASP.NET or Google AppEngine is good for building scalable application? To move with Google AppEngine, I need to learn entire concepts from the scratch. whether ASP.NET support will support to process heavy page requests or not.
Summary: ASP.Net website with a couple hundred users. Data is exported to Excel files which can be relatively large (~5 MB).
In the pilot phase (just a few users), we are already seeing occasional errors on the server in the exporting method.
Here's the stack trace:
System.Web.HttpUnhandledException: Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.IO.MemoryStream.set_Capacity(Int32 value) at System.IO.MemoryStream.EnsureCapacity(Int32 value) at
Even aside from this particular problem, in general exporting to Excel requires the instantiation of huge Excel objects on the server for each request, which I've always assumed to mean disqualifies Excel for "serious" work on a highly-loaded server. Is there any general way to export to Excel in a "light-weight" manner? Would simply streaming the data into a CSV file work for this?
How to solve Cross browser session Problem???When i login to my site and open a new tab,the session is shared.I want a new session for each tab.It is possible without using cookieless = 'true',but i cant use this.
Right now I am creating this session with the session key "PhonePart" which is also the name of object I am passing in as a parameter in first method. In subsequent methods, I use the the same name to retreive and clear session value. My problem is, this approach works fine If I instantiate a single object of the class where these methods are defined and using that object call the methods, but when I create another instance of the same class and calls for instance method AddToSession and pass that instance, it overwrites the session value stored by the first instance of the class as the session key is the same that is "PhonePart".
Considering this scenario, is it possible that I somehow grab the name of the object as string in the calling method say "AddToSession" and create a session with that name? If Yes, then I can do the same in subsequent methods and retreive session value and also clear the session specific to that instance name without affecting the other session values stored by other instances.
creating session object to use across my web application.
I'm working on an application that requires a login control upon which we would need to set around 10 different session variables (related to the user). These values are required/ used many times across the web application so it would be really handy to create a class/ object which can be accessed in all pages with doing multiple lookups into the user table on DB. Also, I would like to avoid any conflicts with multiple developers using same session variable names and thereby causing issues down the road.
I know this is not a new kind of request and must have been created and used by many of the developers.
The question might sound weird, but I am planning to create a asp.net website, which when fully done, will ideally cater to all countries.I am currently in the architecture phase.. and is there anything that I should keep in might when doing this?
like,saving all datetime fields in utc
using user's timezone to display all time related data
My new assignment at work is to create a second version of our existing web application. Currently, our application supports only full time brokers, but now we our launching a second site specifically for part time brokers.
The new site will be almost identical to our existing site with the following exceptions:
It will have it's own branding. A couple of the user controls used for displaying information will be different (but none of the pages will be different). Our existing users should not have access to the new site and vice versa. It needs to be easy to test both versions of the website from within Visual Studio easily. We want to reuse as much our existing code as possible. I have 2 weeks to do this. I'm hoping that this is a common scenario and someone out there has some advice for how to accomplish this.
I am creating a static variable and adding to session.This variable has value that is user specific. Now I am getting a problem with this users are complaining that they are getting values that should be another users. It's like a mix up with session. Could this be because of static variable declaration?
I'm trying to customize correct displaying of dropdownlists so information shown in comboboxes is relevant to the kind of user logged on (maintaining referential integrity at data level)
e.g.: I have a user already logged on and depending on his profile I'd like to display to this user only the portion of the database that he would be allowed to see. That would mean that he might have acces to an specific subset of data, e.g.: businesstype = "3", loging level = "2", etc.
Is there a way of creating an Ado.Net Entity Data Model filtered on a Session variables as to maintain proper referential integrity at data level?
I'd like to update my website to make it subscription based. It's a ASP.NET Web forms project. I am looking for the following functionality:
Ability to have users sign up for different plans (Gold, Premium etc) Ability to have users upgrade / downgrade to and from plans Ability to hook this up to a Payment processor Ability to have a credit based system (User buys x credits for $y) as an alternative to plans in (1)
Most of this functionality (if not all) is supported by a large number of websites which makes me think I can leverage on an existing framework instead of re-inventing the wheel.
I have created website in Visual Studio using asp.net C#, and host the website in IIS.
Now i want when i right click the website in IIS and select browse, page will get executed, but this is not happening with my case, when i browse the website it shows all the content of website which i created in Visual studio, as shown below
To parent directory
3/29/2011 4:55 AM <dir> App_Data 3/29/2011 4:55 AM <dir> bin 3/29/2011 4:55 AM 528 pageName.aspx 3/29/2011 4:55 AM 1234 pageName.aspx.cs 3/29/2011 4:55 AM 1144 pageName.aspx.designer.cs 3/29/2011 4:55 AM 4393 pageName.csproj 3/29/2011 4:55 AM 1288 pageName.aspx.user 3/29/2011 4:55 AM <dir> obj 3/29/2011 4:55 AM <dir> properties 3/29/2011 4:55 AM 7469 web.config
when i click on 3/29/2011 4:55 AM 528 pageName.aspx, page will get executed.
But what i wanted , when i browse the website , this page "3/29/2011 4:55 AM 528 pageName.aspx" will get executed automatically, i do not suppose to click on 3/29/2011 4:55 AM 528 pageName.aspx page manually
I have a question concerning website structure. I have a website which will be an intranet site. On this site I will have a main page that has links to different apps that will reside in this site. I want to separate the apps in their own folders.My question is do I just create a folder for each one or do I create a new webpage within the main webpage for each one? The reason I am asking is I use three layer model and my object data classes and db classes need to reside in App_Code folder. Do I put all these from every app in the one folder(on the main page) or if I create a site within a site can each have it's own App_Code folder. Also if I create the site within a site will I be able to redirect to different pages just by relative URLS(../cashmanagement) and everything work OK.I am pretty new to ASP and this is my first site with mutiple programs.
I'am trying to follow an ASP.NET with AJAX Training. At certain moment, they deploy an AJAX-Enabled Web Site. but for me I can't found this option (I'm using Visual Studio 2008).
Even if I installed the Ajax Control Toolkit it still not working for me !!
creating a fantasy football website and i needed some help on creating it, i am having trouble creating a login for the website, can anyone help? i would be most greatful. thank you for your time reading.
I've done a lot of research regarding sending and receiving SMS, but all of the examples are for Windows Form. I need it to be for Web Apps. I know that i would need to use AT Commands to send and receive SMS. But I don't get how is it being used.
I need to create a audio / video library website. Users should be able to browse / view the available video files in a player. Please give me some reference links / projects and also let me know the file format in which the streaming occurs fast.
creating a mobile version of the website I have created in WebMatrix. I have created the website and the email form and the data input forms and all seems to work ok with the SQL Server Compact 4 database, but I now want to create a version to run on my smartphone (it's a htc hd2 running windows mobile 6.5.3, though I think I may have to produce it to run on windows mobile 7 -feel free to comment).
There are some good tutorials out there for WebMatrix generally but I have yet to find anything covering the scenario above.
The other query relates to deploying the WebMatrix site. I know there is webhosting offered on WebMatrix, but I can't find a simple guide to what spec to be looking for in any package offering webhosting. (poor student looking for cheapest offer for trialling practise sites) I think I have come to the conclusion that if they offer Microsoft ASP.NET 4 then that should be ok for the Razor syntax and cope with the cshtml, and that at the basic level I am working at I don't need an SQL database as part of the hosting package as the compact travels as a file with the rest of the site.
I am planning to develop around 4 product catalogue websites. The functionality of all the websites would be same. however the design, images and css would be different.
All the 4 websites will use the same admin panel, forums and database(MS Access) also.
How should I create such a system.
I dont understand what kind of folder structure should I create.
I would like to create following kind of folder structure.
I have posed this question recently in a different form, but the answers I got led me nowhere. This is what I want to do:
Have a web site that requires users to login.
Have the authentication process be done by ASP.NET (rather than Windows).
I have had many links to voluminous articles in MSN that simply did not work. Is there not a simple (wizard-like) way to start a web site from scratch and establish the objective of having users login to the site? I have tried creating a blank ASP.NET Web Site and using the Website>ASP.Net Configuration tool. But as soon as I go to the Security tab, rather than getting the wizard, I get the error:
There is a problem with your selected data store. This can be caused by an invalid server name or credentials, or by insufficient permission. It can also be caused by the role manager feature not being enabled. Click the button below to be redirected to a page where you can choose a new data store.
The following message may help in diagnosing the problem: The database filename can not contain the following 3 characters: [ (open square brace), ] (close square brace) and ' (single quote)
Does anyone know some SIMPLE steps to setup a new web site with ASP.NET authentication (forms authentication)?
I have created a database in Access 2007 for a university. Now, a new functionallity is required. What I need to do is a search function where students can search the database online. Now, they can only search using a front-end which is read-only, but they need to use a computer with Microsoft Access (or Runtime) and they need to be connected to the back-end which is located on a server.
make the database to work online? I am a novice to web programming. Which is the easiest way and how do I start?
The database has fields with Attachments. The students can search the database and open Attachments connected to the found posts, this part needs to be online. The personnel can edit and add data using a more complex front-end. This does not need to be online, they can still use Access.