Static Field Initializer Runs Before Application_start, Sometimes?
Oct 29, 2010
I've got an ASP.NET web app that is starting to show some very strange behavior. Here's some example code:
// in Bar.cs
public class Bar {
public static Baz baz = Something.Step2();
}
// in Global.asax
public void Application_Start(...) {
Something.Step1();
}
The short version of the story is this: On some machines, Something.Step2 is executed before Something.Step1 and is throwing an unhandleable exception. On other machines, Step1 correctly executes before Step2. Global.asax and all the objects it uses do not refer to Bar at all.
When are static fields supposed to execute in relation to other programming elements? Why would two machines (both Win7 64-bit, both with .NET 4.0, same IIS version, etc) execute things in different orders? The order is consistent on each machine too. On my machine, it always executes Step2 before Step1, but on my coworker's machine it always executes Step1 before Step2.Update I've found the root cause why my static field is being accessed. Class "Bar" from my example is actually a custom authentication module, and is referenced in web.config as the Authentication handler under System.webServer. If I remove that line from web.config, my system calls Step1 first and never calls Step2 at all. My question changes subtly to: "Why does web.config cause my static initializers to fire, and why does it cause them to fire before Application_Start executes?"
View 1 Replies
Similar Messages:
Feb 3, 2011
when i am declaring my connection string i am getting error below is my connection string
[Code]....
the error is A field initializer cannot reference the non-static field, method, or property 'Default3.con1' .i am unable to type con1.
View 2 Replies
Mar 29, 2010
I am getting the error "A field initializer cannot reference the nonstatic field", While My code is as below:
Object selectedItem = PageVariables.slectedItemData;
MyClass selectedItems = (MyClass)selectedItem;
But the same thing works if assign the value at the constructor or in a different method , like below:
public partial class MusicPlayer : Page
{
Object selectedItem = PageVariables.slectedItemData;
[code]...
I am just trying to understand what is the difference, Why it is looking for a static varaible declaration(in 1st case) while doesn't look for it while in a constructor or a different method
View 3 Replies
Mar 26, 2011
I have a private static field in my Controller class in an MVC web application.
I have a static method in that controller that assigns some value to that static field, I want to apply lock on that static field until some other instance method in the controller uses the value stored in the static field and then releases it.
DETAILS:
I have a controller named BaseController having a static ClientId field as follows and two methods as follows:-
public static string ClientId = "";
static void OnClientConnected(string clientId, ref Dictionary<string, object> list)
{
list.Add("a", "b");
// I want the ClientId to be locked here, so that it can not be accessed by other requests coming to the server and wait for ClientId to be released:-
BaseController.clientId = clientId;
}
public ActionResult Handler()
{
if (something)
{
// use the static ClientId here
}
// Release the ClientId here, so it can now be used by other web requests coming to the server.
return View();
}
View 1 Replies
Mar 2, 2010
I have the following code in my ASP.NET project
public sealed class IoC
{
private static readonly IDependencyResolver resolver =
Service.Get("IDependencyResolver") as IDependencyResolver;
static IoC()
{
}
private IoC()
[Code]....
View 2 Replies
Feb 2, 2011
I have a simple web service, in it i have a static class which has a static collection to remember alive tokens.
I just want to make sure that the token collection lives until the next iisreset or the application pool recycles.
And what is the difference between remembering states in Application bag and static class?
View 1 Replies
Feb 9, 2011
I m having a webService.
In that I m using Caching.
I have wrote following code to store datatable in cache.
using System.Web.Caching;
Cache.Insert("dt", dt, null, DateTime.Now.AddHours(1), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Default, null);
It give me error like "An object Reference is required for non static field.
View 2 Replies
May 7, 2015
I'm using jQuery and setInterval method in my asp.net web application.
I call the webservice every 5 seconds in order to check for DB changes. When i see a change, i want to change the photo of the linkButton that located on the master page, but i can to that due to static constrains.
An object reference is required for the non-static field, method, or property 'System.Web.UI.Page.Master.get'
my c# code is:
[WebMethod()]
public static bool checkDBChange(string userId) {
DBConnection dbConnection = new DBConnection();
if (dbConnection.isChanged(userId)) {
((Site1)Master).SetImageUrl = "~/Icons/a.ico";
}
return false;
}
The SetImageUrl is a setter in my master page that sets the new url to the linkButton. How I can implement it?
View 1 Replies
Mar 22, 2010
Aplogies if this has been discussed before but I couldn't find an answer.
I'm trying to use jquery/Ajax to access some webmethods in my codebehind. This is fine, but I would in my function like to reference a placeholder (phStory in the code below) on my page and also load a usercontrol into that placeholder.
Unfortunately I get the message: "An object reference is required for the non-static field, method, or property 'TestControls.phStory' " and similar for the usercontrol. Does anyone know how I can still access my placeholder and usercontrol from within this.
It has to be stati as it's a WebMethod but this then throws up these errors.
[code]....
View 4 Replies
Mar 24, 2010
I am getting a CS0120 error when trying turn a button visible after checking some variables. In plain english, If AmmohelpSession.UserActions contains AmmohelpEnums.UserAction.ArticleEdit then turn the Edit button visible. Here is my comparison:
[Code]....
In the code behind for AmmohelpSession, a public class AmmohelpSession which contains a private variable: private HashSet<UserAction> _userActions; has been stated. In that same file, there is a public function for the UserActions that does a get or set method.In the code behind for AmmohelpEnums, we are setting byte variables to specific actions. Mine would be something like:
[Code]....
Where is my error coming from ?????
View 1 Replies
Feb 18, 2011
I need an advice on piece of functionality that I am ought to implement. The scenario is that we haven an HttpHandler which servers to intercept file uploads. In the handler, I need to persist a large dictionary of strings inside the memory. The dictionary might be as large as 100 entries. I am wondering whether it is safe to store that in a static variable, so that it is not initialized every time instance of the handler is created (there will be a lot of instance for sure). In general, what is the approach in such scenarios. Is it a generally better idea to use static fields, to persist data that will not be changed?
View 5 Replies
Jan 20, 2010
In the past I've used UserControls to create email templates which I can fill properties on and then use LoadControl and then RenderControl to get the html for which to use for the body text of my email. This was within asp.net webforms.
I'm in the throws of building an mvc website and wanted to do something similar. I've actually considered putting this functionality in a seperate class library and am looking into how I can do this so that in my web layer I can just call EmailTemplate.SubscriptionEmail() which will then generate the html from my template with properties in relevant places (obviously there needs to be parameters for email address etc in there).
I wanted to create a single Render control method for which I can pass a string to the path of the UserControl which is my template. I've come across this on the web that kind of suits my needs:
[code]....
Does that make sense? I was just wondering if this is at all possible in the first place and how I'd implement it? I'm not sure if it would be possible to map the properties set on 'object' to properties on the loaded user control and if it is possible where to start in doing this?
View 1 Replies
Feb 25, 2011
I am getting this error while connecting to MQ Manager.I have given correct login credentials and MQ details..but it is throwing the same error.
I have my code written as below...
MQQueueManager lObjMQManager = null;
Hashtable lObjMQProps = new Hashtable(); [code].....
View 1 Replies
Nov 1, 2010
All of a sudden I started getting this nasty exception all over the place:
The type initializer for 'System.Drawing.ToolboxBitmapAttribute' threw an exception.
Some relevant observations: * The error started occuring a few hours after the last deployment to the live server, not immediately after. So it basically started occuring of its own accord.
* We have recently moved to a new host (a VPS). The error only occurs on that server, not our local server nor at the old host's (which was a shared environment).
* The problem is basically the same as this: [URL]
* I tried reinstalling Ajax extensions, then our website in IIS, then finally the .Net 2 framework. But the error still occurs after all this.
* The error occurs on line 1, which is just the page directive: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Test.WebForm1" %>
I'm finding it difficult to get a decent trace, but here is one that our CMS provided:
The type initializer for 'System.Drawing.ToolboxBitmapAttribute' threw an exception.
at System.Web.UI.TemplateParser.ProcessException(Exception ex)
at System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath)
at System.Web.UI.TemplateParser.ParseInternal()
at System.Web.UI.TemplateParser.Parse()
at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType()
at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)
at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders()
at System.Web.Compilation.BuildProvidersCompiler.PerformBuild()
at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)
at System.Web.UI.TemplateControl.LoadControl(VirtualPath virtualPath)
at System.Web.UI.TemplateControl.LoadControl(String virtualPath)
at umbraco.macro.loadUserControl(String fileName, Hashtable attributes, page umbPage)
My own code doesn't use the ToolboxBitmapAttribute, but third party products like Peter Blum's and Telerik's do.
Peter Blum replied with some useful hints:
* The "type initializer" concept probably needs some research, but I'm guessing that is an important clue. A quick web search of "type initializer" finds many situations it occurs for a variety of classes.
* The stack trace suggests that this is happening as ASP.NET is compiling your web form. The error is happening as the ASP.NET parser runs. Again this is external from my code (even creating or "type initializing" the attribute is not something my code does).
View 1 Replies
Mar 12, 2011
i hve CRRedist2005_x86 installed in my ststem but still it give the below error
{"The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception."}
{"An error has occurred while attempting to load the Crystal Reports runtime.
Either the Crystal Reports registry key permissions are insufficient or the Crystal Reports runtime is not installed correctly.
View 2 Replies
May 10, 2010
Is it safe to access asp.net session variables through static properties of a static object?Here is what I mean:
public static class SessionHelper
{
public static int Age
{
get
{
[code]...
Is it possible that userA could access userB's session data this way?
View 2 Replies
Jun 30, 2010
I did some research after posting. All I found was simple examples for no-layer architectures, like connecting to a database from your aspx page, so, in a corporate environment, it is unnaceptable.
I need to call a server-side method (using ASP.NET Ajax) in a 3-layer architecture.
For example, my Default.aspx contains a method LoadProducts().
[Code]....
[Code]....
This cannot change. There is no way to convert Business and Data layers to static.
How can I call the LoadProducts() method using ASP.NET Ajax?
View 2 Replies
Nov 12, 2010
The Application_Start method in Global.asax.cs was being called in my WCF web services application when it was running under ASP.NET 2.
It has been recompiled with the .NET 4 framework and it now runs under ASP.NET 4. However, that method is not ever being called.
View 1 Replies
Jun 9, 2010
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 ?
View 1 Replies
May 7, 2010
I've been using different routes.MapPageRoute registrations that were dependent on the domain (I have multiple pointing to the same web application). I was accomplishing this by determining the domain (or sub-domain) using Context.Request.Url.Host within RegisterRoutest. Of course, this all is kicked off at Application_Start, which worked in IIS6, but now I've moved to IIS7, and Request doesn't seem to be available at Application_Start anymore. Can anyone suggest a way to get the domain at Application_Start, or is this simply not possible with IIS7?
Here's an example of the code I've been using in my Global.asax:
[Code]....
Error Returned:
Request is not available in this context
... System.Web.HttpContext.get_Request ...
View 5 Replies
May 6, 2010
I'm implementing a simple HttpModule, where I want some code to run when the web application is started. But I'm surprised to find that the Application_Start event I would normally use from Global.asax is not available from a HttpModule. Is that correct, or am I missing something here?
How do I hook into the Application_Start event from an HttpModule?
View 3 Replies
Jan 13, 2010
I'm in the process of adding ASP.NET MVC code to a preexisting ASP.NET Webforms project. The various tutorials suggest adding routing to a method called from Application_Start() in Global.asax. My Global.asax already has an Application_OnStart(Object,EventArgs) method with some setup code.
If I try to have both Start and OnStart, the OnStart doesn't get called (and the setup fails, causing errors). It looks like I have to choose one or the other.My question is: which one should I be using? What is the difference between them? Are they called at different times?(Note: at the time of this writing, the top three Google hits are useless and/or misleading.
View 3 Replies
Dec 20, 2010
I have a site that uses ActiveRecord. I'm getting an exception that says "An ActiveRecord class () was used but the framework seems not properly initialized. Did you forget about ActiveRecordStarter.Initialize() ?" This is a web application, and the Initialize() method is called by the Application_Start event handler.
I created a new page that also calls the initialize() method. If I visit that page once, then the rest of the site works. If I visit it a second time, I get an exception stating that the Initialize() method can only be called once.
I've tried modifying the web.config and resetting the application pool to force Application_Start to run.
This only happens in production; dev, my stage, and client stage are fine. Production is the only load-balanced environment--I'm not sure if that comes into play.
Edit: We have another site deployed in the same environment which successfully uses ActiveRecord with the same initialization code. One difference is that the site that is working has only the ActiveRecord code in Application_Start; the site that doesn't also sets up some URL routing in Application_Start.
View 1 Replies
May 5, 2010
I have some code that initializes a static singleton class, which is needed by all requests. Therefore I thought I could add it to global.asax Application_Start. Can I be 100% sure that all requests will block while Application_Start is loading to guarantee that all the requests will have access to it?
View 1 Replies
Jan 27, 2011
I have a question about C Sharp ASP.NET:Is there a difference (in code speed, resources) between:public static variable declared in public static class MyGlobals in a 'Code File' template;and the variable declared in a normal 'Class File' template;I use this variable in 2 different Class Files and also in _Default Page codebehind cs file.In fact in my case I need about 20 global variables of type List<string>.
View 9 Replies