Add Session Variable Or Custom Field To Elmah Error Log Table
Apr 21, 2010
I want to add my own session variable to elmah error log table and display it. I already have modified the source code and added the new fields to Error.cs and other fields but I don't know but when I assign an HttpContext.Current.Session["MyVar"].tostring() value to my field in the constructor it stops logging exceptions and does not log any exception. I just need to get the value of the session variable is there other way for this ? I read a post which he added fields for the email but it does not say where exactly should I get the session value. I also read that Session and Cookies ar e logged by default by Elmah but I dont know how to access them.
I have an application that goes through a series of questions and I have a view that shows each question based on the ViewData.
I would like to store the QuestionID (the view uses this to determine which question to show), but I'm curious if I should be storing the CurrentQuestionID in the Session or as a hidden field?
I am sure this is pretty common and I was curious what the conventions/best practices were for this sort of thing.
Can I set up an ASP.Net datasource in the ASPX code as opposed to the code behind) where the datasource is a DataTable that's stored in a Session variable?
----> I have datatable which is passing to another page in session variable. ----> Now on another page i take the session variable into datatable.
datatable ds_table = new datatable(); ds_table = (datatable)session["table_value"];
----> so problem, is that , when i filtering some rows from ds_table . that taking effect in the session variable. if some rows deleted from ds_table. then it is also deleted from session variable.
----> so, anyone tell me why is this going to happene?
I'm working on converting the TailspinSpyworks shopping cart Joe Stagner wrote in C# to VB using an evaluation version of VS 2010. I have the following public function:
Public Function GetShoppingCartId() As [String] If Session(CartId) Is Nothing Then Session(CartId) = If(System.Web.HttpContext.Current.Request.IsAuthenticated, User.Identity.Name, Guid.NewGuid().ToString()) End If Return Session(CartId).ToString() End Function
For Session in Session(CartId) I'm etting the following error: 'Session' is not declared. It may be inaccessible due to its protection level. For User in User.Identity.Name I'm getting the same error: 'User' is not declared. It may be inaccessible due to its protection level
I get a casting error on line #8 below which reads "db.UserID = Session("UserID")". What would be the correct way to cast this? The datatype of the DB field is GUID.
I'm using Elmah with ASP.NET and wondering how I would add custom data, such as a session variable, to an unhandled exception email.I've tried several handlers in the Global.asax file but can't seem to find the right one.
Currently in an .aspx file, I am storing a value (filename that was created in that session) in an hidden text box. When the user clicks on the "Print" labeled Hyperlink control, it opens the file that was stored in the hidden text box control. But when the user goes to different screen (in the same session), I loose the filename value that is stored in the hidden text box control. So I would like to store the filename variable in a session variable. So that if the user leaves this .aspx file and comes back to this .aspx file I can load the value into the hidden text box from the session variable.
Code: Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Try Response.Write(Session("ValidUser").ToString & "<br />") Catch ex As System.Exception Response.Write("Valid User Session Variable Not Found: " & ex.ToString & "<br />") End Try
[Code] .....
This the page that users are redirected to after logging on and, after verifying their credentials at the log-on stage, should show 'Hello DonaldDuck@Disney.com, Welcome to my website'.
Do these errors mean that the user cannot be validated in the database?
I would like to know if the way i'm dealing with session variables is the right way, and also how to fix this error i'm getting: FormatException: Input string was not in a correct format.
I have a table named RECIPE which is linked to an other table name RECIPE_STATUS
In RECIPE table I have a field named Status_Id which contains the name of the Status which is fetch from the RECIPE_STATUS table based on this ID.
The RECIPE table sample information are as follow :
ID Name Status_Id ==================== 1 Test1 0 2 Test2 1 3 Test3 2
The RECIPE_STATUS entries are as follow:
ID Name ======== 0 Locked 1 Running 2 Free
From an ASP.net page I would like that my user is capable of changing the RECIPE_STATUS from a given recipe. For that I have a DataGrid which is bind to the RECIPE table.
But then what I would like is that the STATUS shown to my user to be the name Locked,Running or free depedning on the Id
How can I bound in my Datagrid the Recipe.Status to be bind to RECIPE_STATUS.Id ?
IN addition to that, If my user change the status for a given recipe, it should be properly save.
I use custom session state provider (appfabric). I marked my pagecontroller class with [Serializable]. When i redirect a page i get error HttpContext is not marked as serializable. I have a property in pagecontroller class;
[Code]....
Is this piece of code may be the main reason for serialization error ? I use the it nearly everywhere, so i can not simply detach and test it.
First I found that you can catch it and log it inside a catch, but this doesn't send an email. Then I found out about using the Error Signal class. That worked, however what wasn't apparent from reading, is that it treats the error like normal, so when I signal the error it goes to the custom error page still, I don't want that to happen. What I want to do is catch that error, log it, send the email, but stay on the page the error happened so I can provide special feedback. I do not want it go to the custom error page.
EDIT: This is what I have and it redirects me to the custom error page.
Try smtpClient.Send(mailMessage) Catch smtpEx As SmtpException errorSignal.FromCurrentContext().Raise(smtpEx) Catch ex As Exception errorSignal.FromCurrentContext().Raise(ex) End Try
Edit: Posting my web.config sections that involve Elmah (besides the connection string hah) And there is nothing in my Global.asax file involving Elmah.
I have a web application which uses a session variable to store the logged in userid. If no user is logged in, of course this variable will be empty and the contents displayed on my website are meant for guests. If there is a user logged in, the user specific controls/access/links will then be a displayed.
I am now having issues with my hosting where on shared application pool, the worker recycle is triggered every 90 minutes, this will clear sessions causing all my users to be logged out. I opted for a dedicated application pool, which got worse because I am only allocated 50MB memory limit and if this is reached, the worker recycle is triggered and I lose my sessions again. I have tried as much as possible optimization techniques, e.g. dispose where possible, close connections, disable viewstate for static controls etc but my memory per instance keeps building up from page to page without any signs of improvement. I don't use loops nor store huge objects like bitmaps etc but my sessions are now gone even faster than 90 minutes in shared application pool before.
I have considered using SQL Session State but there isn't a simple guide on using this with MySQL. I am getting desperate and considering using a public variable, a string as a replacement to store logged in user id instead of in a session variable. I am pretty sure this will solve my issue with sessions being recycled but are there any negative consequences of doing this? One problem I can think of is if the user closes the browser, the system will never know that the user is now logged out and this public variable should be nothing. In this scenario, will the GC eventually clear this abandoned public variable.
[URL] Using the above url as a reference, I can see ELMAH should display the Original ASP.NET error page when the error originates from the View. I have created the following view to generate an error, but the only exception views are Raw/Source data in XML or in JSON.
using elmah i can save error log on database,email,xml .They are individually works well .I want to work in together.Suppose in my config file i can can active server log than i can not active xml log but i want to work on both .How to do.
<elmah> <!-- Change this to 1 to allow remote access. If you do, be sure to lock down the elmah.axd file! --> <security allowRemoteAccess="1" />
[code]...
if i cative server log on tag it's work well than i need to deactivate rest of log storage process like : xml,mail-notification etc.If i active Xml log than it's work well than i need to deactivate rest of them .But if i active both of them then it does not work**.I want they active on same time.How to active them in the same time.if i active **mail log it does not work .I don't know why it's not work.**1) How to active Server log and Xml log on same time.2) How to active email log with 1) and individually why it's not work?** I want error log will save on database, save on specified folder as xml formate, and also want to send email notification how to active them in the same time.
I used the NuPack tool to add Elmah to a site on my developer machine. This worked like a charm, but when I send a request to the elmah.axd page all I get in return is 500 - Internal server error.
My code setup: Visual Studio 2010 Site built on top of EPiServer 4.62B Running on .NET Framework 2 (because of EPiServer)
My IIS setup: IIS 7.5 Classic .NET AppPool (because of EPiServer)
My computer: running Windows 7 32bit (because of EPiServer)
What would be the proper syntax in ASP.NEt 3.5 C# to assign a TextBox value to a temporary or session variable to be manipulated (added, subtracted, multiplied, divided) at different points in the application? I want to add a decimal number to this variable in almost every instance as well.
For my current project I am using form authentication.What occasionally will happen is a user will timeout (unbeknownst to them),they try navigating to a different page (call it Page B) and they get kicked back to the login screen.This is fine and I have no problems with this.
However,after they enter their credentials and are authenticated they are redirected back to "Page B" and an error is produced because a session variable wasn't loaded. This is due to the fact that they were redirected to "Page B" instead of the page they would normally hit after a login (call it Page A).Is there anyway to force the user to go to Page A instead of Page B in these situation to avoid these errors?
I have the dataset. in this i am having total 20 tables with huge amount of data..I want use this data over all the page..so where i can keep this data..
before i used viewstate but the viewstate data is render to page every postback ..so this time the page size is increasing(interanlly viewstate is rendered to page)..so performence wise it was very slow..
Now i change my logic insted of viewstate to i used Globel Dataset on Page Level.. now the performence wise better than viewstate..
i used Like shared dsControls as Dataset at top of the page..so every time i use this dataset..
my quesation is session is better or Globel variable is better way use in my situavation..
I added the following code to global.asax to load up several session variable when a session starts. I'm assuming that when a page goes to use the variable that I should be
1) checking at the page level that the value is valid not 0 when its not expected to be 0, not a zero-length string when its expected to have a length
2) have code at the page level that sets the values if the values have not been set as when the Session timeout, ideally putting the code in a class derived from Page and then deriving all of my pages from the new class so that the code does not have to be repeated in every page
I have some code in my page load event where I just want to fire once when the user opens the Browser. The only issue is if you open a new tab with the same website the session variable does not reset. Is there a way to reset the session variable when you open a new tab or do you have to take the whole web browser down for it to clear the session variable.