i read that whenenver you call an instance of the your site the session_start is called. I am using the following code to create a visitor counter
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
Application.Add("Myvariable", 0);
}
[Code]....
Hence when I run the program the output is "User No:1"
and i copy the url to another firefox tab and paste it there the output is still the same. Isnt it suppose to increment. My session _start is not being called why ?? I was reading a tutorial in which it is being incremented.
To avoid session fixation/hijacking we are heeding the common advice to create a new ASP.Net session for a user after authentication. Sounds simple enough. When a user authenticates we call Session.Abandon() the session ID cookie Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "") then redirect the user.
However, how do we know on the new page that the user has logged in? We cannot check a session variable because there are none, we just started a brand new session.
I would swear, though I cannot find it now, that on this site someone explained how you can abandon a session and then get the next subsequent session ID. This way you could store that information. Then on the "Start Page" a new session would begin and that page could look up the old Session based on the new ID and validate that a user logged in.
So, are there any masters of the ASP.Net Session classes that know how to do this?
I'm calling an action from another controller using this code
[Code]....
But inside "ApproveOperation" action, I needed the Session variables. It seems when I called it from another controller (not the owning controller), the Session variables can not be accessed (null value).How can I get the same Session variables just like it was called from the owning controller?
I try to get sLocale variable to "en-US" if Countrycode passed is "US" in session.I get Object reference not set to an instance of an object error near
StringsLocale=Some.DataProvider.ListData.GetCulture(System.Web.HttpContext.Current.Session["CountryCode"].ToString()); in ProductDetails.cs page.This method works fine in all other page,but here it is showing error.If I hard code Session to US then it works fine.I think it is not reading session.
How can I tell from within an ASP.NET HttpHandler if it is executing because of a call to Server.Execute("myHandler.ashx")or because of the user linking directly to myHandler.ashx? (Besides using a querystring parameter).
ModelBinders.Binders.Add(typeof(StringValidator), new StringValidatorBinder());
StringValidatorBinder implements IModelBinder and simply throws an exception on BindModel, and I have a break line on there too. So, why does the following post method set "validation" to null and not call my model binder?[HttpPost]public ActionResult Create(string code, string description, StringValidator validation) {......}
found many pages of my maintence website inherits a base page which overrides InitializeCulture to customize some globalization settings. Is this method called everytime for any incoming request
I have an application made on asp.net mvc 2 and it is on IIS 7.5 on my pc I tried profiling it and I noticed that Application_Start gets called more than once, anybody knows why is this happening ?
I have two versions of a website. One runs on IIS server on a local PC, the other runs on the ASP.NET development environment included on Visual Studio (localhost). Apart from that, the file stucture of both is the same, although only the one running on IIS works properly, and this seems to be related to the fact that the IIS version calls Application_BeginRequest() where the other doesn't.
I've looked at the differences between IIS server and the ASP development environment in: [URL], and it says that IIS and the ASP development server deal with static content in that for IIS in that on IIS static content does not go through the ASP.NET runtime like it does on the dev environment (but I'm not sure exactly what this means).
I've done a number of tests involving images, etc, and have noticed that when the image is of the form:
<img src="Image/MyImage.jpg...>
the IIS server version calls Application_BeginRequest(), but the visual studio development environment version doesn't.
In my case, it is necessary to call Application_BeginRequest because this creates a new path and calls RewritePath().
The problem occurs when using links such as <a href="..." ...>, because if I use static content it won't call Application_BeginRequest() and the path won't be re-written. But If I change it to href=" %=ResolveUrl("~/...")%>" (for some reason, it will only call BeginRequest() if the path begins with a tilde ~), the path is re-written incorrectly.
I'm not really sure how to find out why the IIS version is calling Application_BeginRequest() from all the time (the callstack just says "external code"), or why it is calling it whereas the local dev server version isn't.
If anybody can explain this, or knows of any sites that go into this so I can master the basics, I'd be very grateful.
The page I'm editing had three tabs, each tab contains a diffrent grid view which is populated by a search box with in the tab. Each row in the grid view has a check box. When a print button is pressed all records with a tick in the check box should be printed off. Then page then reloads but some of the content is missing due to the way the page has been coded. This is becuase some of the code is only called when the tab is clicked not on postback. Is there anyway that I change the following code so that it's called after postback? These are the functions that are causing the most problem.. I need them to be loaded for the correct tab on postback.. I can't do it for all three as the code takes forever to run in that case.
I made a custom handler that derives from MvcHandler. I have my routes using a custom RouteHandler that returns my new handler for GetHttpHandler(), and I override ProcessRequest() in my custom handler. The call to GetHttpHandler is triggering a breakpoint and my handler's constructor is definitely being called, but BeginProcessRequest() is being called on the base MvcHandler instead of ProcessRequest().
Why are the async methods being called when I haven't done anything to call them? I don't want asynchronous handling, and I certainly didn't do anything explicit to get it. My controllers all derive from Controller, not AsyncController.
I don't have the source code with me right now, but I can add it later if needed. I was hoping someone might know some of the reasons why BeginProcessRequest might be called when it's not wanted.
I've seen a few posts about Application_BeginRequest, but non seems to have my problem.
My Application_BeginRequest is being called for every image in my website.
The StaticFile Handler is enabled with * as the Path, but it's at the end of the list.
Is this the normal behaviour? Or should I add .gif, .jpg and so on on top of the list?
This is on my IIS7.5 Win7 Development Server. Didn't check it on the production server yet.
Update: Setting runAllManagedModulesForAllRequests=false would help. But then the ASP.NET URL Mapping does not work anymore. I tried disable it just for the image directly, but that had no effect?
This is the setup in short. I have a big table. Everytime a cell get focus an asyncron call to the server is done (with PageMethods) and some data is returned and updates a infobox in the page.I have written code that makes it possible to navigate between cells with the arrow keyes.
The problem occurs when I shift focus fast through several cells in order to get to the cell I want. Every get-focus is executed and since the communication with the server takes about half a second it get quite irritating and not very user friendly.Ideally I would like to execute only the last focus event. But how? I cant know which event is the last one, can I?
I have a user control with cascading dropdownlists. When I populate the controls in the Page_Load event, the second dropdownlist has duplicate entries. These controls are inside AJAX UpdatePanels and I need to find out when DataBind is called on the second dropdownlist to see why it is being called twice.
I am using a SqlDataSource with a ControlParameter to populate the second dropdownlist, not doing it through the code behind.
Is there a window in Visual Studio 2008 that will let me see when DataBind is being called?
I am new to ASP.NET (2 months) and my very first assignment is to create a website for a municipality. Purchasing as much reading material as possible, I got started and after some time, I have a decent website (coded in C#) that is ready to be internally tested on the departmental webserver. The Web server is running IIS 7 and the pages were developed with Visual Studio 2010. On the main default page, I wanted to implement a slide show using the AJAXControlToolkit which I installed. I watched the ASP.net tutorial [URL] and literally coded my slide show verbatim. I try to launch my slideshow within my default.aspx page and absolutely nothing happens. The steps that I took are
1. Created a webservice (SlidesService.asmx) which generated a code behind file (SlidesService.cs).
2. I created the web method GetSlides() containing a 22 element array which I place in the code behind file.
3. Implement the ToolkitScriptManager establishing my image control.
4. Defined my Previous, Play and Next buttons.
5. Implemented my SlideShowExtender providing my SlideShowServicePath and SlideShowServiceMethod.
Assumptions: In doing all of the above, I noticed that the SlidesService.asmx file needs no code (as I placed all code within the codebehind file). The SlidesService.cs code behind file should reside in the App_Code folder whereas the the SlidesService.asmx file can remain in the root folder. No Button e.g Button_Click needs to be attached to the code behind source file. If I have conveyed my steps properly, can anyone shed some light on why when clicking the play button, nothing happens? Code is listed below.
I have an application written in c# and I am using the sqlClient to connect to database. I have several methods and I usually open the connection in a try catch block
I am trying to implement a custom HTTPModule for ASP.NET. I have a very simple html page with an image in it and an HTTPModule that hooks into the BeginRequest event. When I debug with Visual Studio's dev web server, my module is called twice: one for the initial page request, then once for the image request. This is what I expected. However, when I deploy my application to IIS, the module is only being called once for the page request.
Error:An item with the same key has already been added.
[ArgumentException: An item with the same key has already been added.] System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) +52 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) +9382923
I am trying to make my ASP.NET MVC 2 application working from a test server.
Since I am using IIS 6 in my test server, I have to define in the Global.asax.cs file:
routes.MapRoute( "Default", // Route name ===> "{controller}.aspx/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults );
This complicates the correct definition of the URL in my getJson() calls for my site production version.
When running my site from the test server, I found using Fiddler that the URL reguested by the browser
for getJson() calls is:
/Controller.aspx/Controller Method
which is correct, but probably, not the complete necessary path for getJson() to work.
I think that this is the reason for getJson() calls to give "Page Not Found(404)" in Fiddler and a syntax error in FireBug and to be skipped completely when trying to execute. Of my understanding the complete path should be: