SynchronizerToken In ASP.Net - asp.net

I was wondering if anyone can help me out. I have an application with several links. One thing I have been noticing is that when a user clicks a link more than once I can get a response multiple times. This may result in a record being committed to a database table multiple times and cannot happen. From what research I've done, it looks like this is an example of when I would use SynchronizerToken's but this is new to me and i have no experience using them. I did find this example: Button doing post back of one user
Is this method the best possible one to use for this scenario? I haven't really seen any other examples out there. Any help would be great.
Thanks

How about disabling the UI element right before postback so multiple clicks are not possible?

I ended up scrapping the idea of tokens and just disabled forms when a post back occurs.

Related

Long delay after button is clicked

I'm just learning ASP.NET using VB 2010, and although I've had a lot of good progress, I am stumped by one issue that I can't resolve. I've also the web for answers, but I haven't found anything that is exactly what I am dealing with. ...though I may not be using the correct search terms.
Anyway, this is an app that will run on our company internet site which requires users to enter information into text boxes and click a button to accept it. Then it will show a modal pop-up asking the user to confirm. The pop-up has a "Confirm" button and a "Cancel" Button. The cancel button works immediately (hides the confirmation pop-up), but the confirm button hangs up for several seconds before it moves to the next step, which is a modal "Thank You" pop-up. The Confirm button writes data to a database.
Now, that's how it works inside the development environment. However, when it's on the production server, it will sit there for who-knows-how-long before it does anything. I can tell that it is writing to the database, and then displaying the data on the page, but the Confirmation pop-up stays up, and the Thank You pop-up never shows up. Also, the app is supposed to send an email to the user as acknowledgement, but it doesn't do that.
When it hangs up like this, I have never waited long enough to see when it catches up. And when it's live like that, I don't know of a way to debug it.
More info about the page: There are several update panels, one that responds to a timer tick every second to update fields on the page. The others are set to "conditional," being updated by other events. For example, the Confirmation and Thank You modals are in conditional update panels which respond to different events.
So I have two questions: Can anyone advise me about the hangup, and is there a way to debug from a live site? Oh, and maybe a third: Can you have too many update panels?
Update: Follow up question: Can it be going off on a different thread, going off track from the correct thread? I've never really understood threading, but this seems like a possibility.
This could be any number of things, so it's going to probably be something you're going to need to dive into and troubleshoot and it's probably not something we'll be able to help with too much.
First, the obligatory request: please post your code :)
Now, something that works quickly and dev and slowly in production is usually a resource issue or a code/data issue. First, take a quick look at the server and make sure it's up to the task for multiple users and all of that. It's worth a quick look, but it's usually an issue with the code or data.
What is that update command doing? Is the SQL behind it written well and efficiently? Are there any database locks that might be happening where another user is doing something and your code is actually waiting for it to complete before doing the updating? How many rows are in the database / how many are being effected?
I'd start by running a SQL trace to see what's really happening and to get an ideas as to how many database calls there are an how long each one takes to execute. If that's not the answer, look at the VB code and see if it's efficiently written. If not, go back to the server resources. Without seeing any code or having any idea what the application is supposed to do, I'd bet on the database queries being the culprit.
My bad. I hadn't mentioned one aspect, because I had no idea it would be a factor, but it is. Part of the process was to log certain events into a log file. The way it's set up in our IIS, that's a big no-no. So it was throwing an error, but the error was only manifesting itself as a long delay. I commented out the code that opens, writes to, and closes the log file, and it's all good.

FileUpload.HasFile always remain false(I am using Ajax)

I am writing one simple page in APS.Net with VB.Net as the scripting language. In this page I have two text boxes and relevant buttons to complete the job of taking input from the user.
The form prompts the user to enter an image title, image to upload(using ASP AjaxControlToolkit FileUpload control) and a list of search tags to research this image in the future.
I have researched for more than three hours and tried many different solutions posted online but still I am not able to fix the FileUpload.HasFile = False problem. This condition always remains false even after choosing the file to upload.
I understand that many similar questions have already been posted but I have tried those solutions and still I could not fix it.
It would be really great if someone could please help me with this.
I am using MS SQL database but I haven't done anything related to database in this page as I am not done with the validation and the input yet.
Please download the code files from:
http://www.mediafire.com/?ae1jq33zkj50tt7,olcmd5yct3tz52m,7lm3a9syplfdec6
Please let me know if you need anything else.
What u need is here! Checkout this , you may get some help from here.
mark this as answer if u like it. :)

ASP Classic - Captcha Mistype Clears Form Entry

I'm working on inserting a Google ReCaptcha for an online ASP Classic form. The captcha finally works, but I ran into one issue driving me crazy in troubleshooting.
The form is pretty long and consists of text input boxes, radio buttons, and checkboxes. If the user mistypes the captcha, the error message will appear in addition to completely clearing the form.
I managed to stop the clearing of the text input boxes upon; however, I cannot figure out how to keep the selection made by the user for the radio buttons and checkboxes.
How do I prevent a refresh from occurring if the captcha must be retried?
Anyone else run into this issue? I would think this is common with the recaptcha?
I'm new to ASP, so I have a little bit of a learning curve. Any advice or resources would be greatly appreciated to help steer way for possible solution. Thanks so much for your time, and I look forward to hearing soon.
Was able to find solution through this reading on ASP Request Object, Form Collection. If interested, the following link can be found here: http://www.w3schools.com/asp/asp_ref_request.asp

ASP.net Page Persistence Regarding Saving State

Currently, I have an asp.net web application that links to another page. The enduser clicks on a link which response.redirects to a validation page. This works correctly they finish with the validation page and this response.redirects them back to the initial page that they started on. The specific problem is that when the user is brought back to the initial page any work that they had previously completed is now gone (aka filling in textboxes/dropdowns etc.). I have been reviewing the best way of making sure this doesn't continue to occur and everything seems to be pointing to saving the view state of the page prior to redirecting to the validation page, and then reloading this view state upon coming back to the initial page. Although, I fell like using response.redirects will not allow this to occur. Now if the end user was just clicking the back button then this would work. Basically, my problem is keeping the data that my enduser input present on the initial page. Any thoughts/ideas/suggestions will be greatly appreciated. Please go easy as it is my first post here. Thanks.
I am not sure whether or not this will solve your issues but long time ago there was an idea to store the ViewState on the server and restore it on demand.
http://www.codeproject.com/KB/applications/persistentstatepage.aspx
This came at a price of turning of the validation. I remember I tweaked it a little bit:
http://netpl.blogspot.com/2007/11/persistentstatepage-with-event.html
I hope you'll find it useful.
I will suggest looking at this article: 9 ways to persist user stat
Which state choice is really up to you and what your application requires. Its a little old (2003) but a good guide to user state.

Separate webapp session for browser tabs

Is there a way to make a web app handle separate sessions for different browser windows/tabs other than having session id inside the URL?
In general form, what are the ways of storing session-id other than cookies and URL parameter?
I think you can try do it by using hidden fields in forms, but you have to create hidden form and make all links act as submit button (with some short JavaScript code setting proper value in fields responsible for target), but IMHO it is not the best solution, because all the requests will be using POST method and get all disadvantages of it.
And as question about other methods here is short list.
In short, no. You don't get any tab information from the client; a new browser window is just another client. The only way to differentiate clients is via cookies or parameters. Maybe you could create a tab-named cookie based on the javascript window object ID or something, but I kind of doubt it.
HTML5 (advert click-through, sorry) has some per-tab local storage options, but that probably won't help you right now.
Not sure if you searched before posting, but I found another question like yours - unanswered, but some good advice in the suggestions.

Resources