VS 2010: Prevent Multiple Users From Accessing File At The Same Time
Jul 15, 2011
I have written a program in VB 2010 that dumps documentation info into an Excel file. Basically, the Excel file is a log file that keeps track of revisions for design drawings at an engineering firm.
There are approximately 20 people that have access to this program. However, I've run into issues where multiple users may be using the program and trying to send info to the Excel file at the same time. The Excel file is set to read only. My program opens the file with write access, and dumps the info into the appropriate cells, then closes the file. If one person is in the process of using the program, it causes an error with another persons system if they try to use it at the same time.
In some cases, it causes my program to crash, and it leaves the Excel file open on someones system.
Typically, my program would only have the Excel file open for a couple seconds. So, the issues mentioned above are rare, but they do happen.
I'm looking for ideas to prevent this issue from occuring.
I am developing Client/Server application in Visual Basic 2005 with back-end SQL Server 2005 Database.I have lot a users to access to this application.I have a problem with accessing same record by two users on different machines at the same time.For example: Two user fetches the same record display on the machine.Now both have same data on the machine. The first user modified and saved the record and after some times another saved the data without modified or modifed some other columns. Now the last user who modifed the record contains the old data.
I have built a vb.net web application. I have tried to make it secure, with all users requiring a password to get in. The only problem is that if anyone can guess (or detect using some kind of hacking tools) the url of the javascript file, they can download it and read it, without even having to log in first.
I have a button and various other controls that when clicked, calls as sub. However if the user clicks the button or any of the other controls multiple times, the sub appears to 'stack up'. For example, if I click the button 10 times, and then some of the menu items that trigger it 20 times, the sub would 'stack up' and execute 30 times total. How can I have the sub cancel calls to itself if its called again? I basically only want the latest call to it to count.
Heres code to reproduce it. Just a button on a form. Dim intTotalTimesClicked As Integer = 0 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click BlastOfNumbers() [Code] .....
Is there something like an ftp server that supports multiple users to login?What i mean is that i need something like an ftp server where can login and upload a file at the same time that other 20 users do.(using vb.net code)
'Upload a file to an ftp server Dim FTP As Net.FtpWebRequest = CType(Net.FtpWebRequest.Create("ftp:myserver.com/file.txt), Net.FtpWebRequest) FTP.Credentials = New System.Net.NetworkCredential("Username", "Password") FTP.Method = System.Net.WebRequestMethods.Ftp.UploadFile
I have a form which has a textbox named "textbox1", and a button named "Button 1". Button 1 is meant to be a submission for textbox1 (i.e. when button1 is pressed, the value of textbox1 is saved and remembered). I want the value of textbox1 to be remembered on any computer, but I need it to be update-able too.I tried using settings to do this like so:
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.TextBox1.Text = My.Settings.TextBox1 End Sub
[code]....
but the problem in doing this is it only works for the current user. When the application is then put on another computer the value is blank.
I have written a code and tried linking up groupboxes from my input form called input.vb and the output form called results.vb.
[Code]...
I have used the above codes to access groupboxes from both forms. However, at run time I get errors saying "InvalidCastException was unhandled" and below that it says "Conversion from string to DOuble is not valid". This error points to a value in a group box that is actually hidden or disabled.
(First off all hi to everyone my first post!) Ok, i have two programs one program writes to a text file on a consistent basis, while the second program is opening this text file on a consistent basis for reading.. Sometimes the programs are accessing the file at the same time and the user keeps getting this error : this process cannot access the file because its already in use..
Is there any class, in system.io that i can use to modify the settings of this text file so both programs can access it at the same time?
i have a program where the high scores will be saved in a txt file. of course, if the file is already in use, saving the text file won't work. is there an if statement i can do to check if it is in use? or could i check the last access time, and the last modify time and if the modify time happened after the access, i know its closed, and if the access time happened after the last modify time it is still in use?
Is there a simple way to do this without having to programme a complete application level firewall or using Windows firewall?I found this very interesting: Winsock Injector It disables the use of Windows Sockets (winsock) for selected processes.Can such an injector be done in VB.NET and does it work for everything?I tried the injector but it doesnt seem to work for certain applications?
I am using Synclock to prevent multiple threads from logging text messages to the same file at the same time, but this doesn't seem to work:I get frequent sharing errors on the logfile, within the synclock block.The Synclock is using the variable holding the filename, because it exists all the time and because it is always the same object, whatever class instance or thread I'm in.[code]Despite using Synclock and a Using block around the code, I keep getting this error in the sw.WriteLine(Msg) line:System.IO.IOException: The process cannot access the file '(filename)' because it is being used by another process.Should I use some other type of object than a string to synchronize on?I cannot use a user interface object (button or so) because it is a windows service project.It was written and compiled in Visual Studio 2008, but targeting the 2.0 framework because it has to be able to run on some old Win2000 machines.
Private Sub PasswordDataGridView_UserDeletingRow(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowCancelEventArgs) Handles PasswordDataGridView.UserDeletingRow
This program is going to submit GET data to our webpage. However, we don't want users accessing the webpage any other way than the program. We can prevent users from sharing the program using HWID authentication, but nothing prevents them from using a packet scanner to get the URL of the webpage. We thought about user-agent authentication, which we will implement, but user-agents can easily be spoofed.
how can we prevent users from accessing the webpage directly, instead of through the program?
Currently we will be implementing:
HWID Authentication to use the program User-Agent Authentication to access the web page Instant IP Blacklisting to anyone accessing the webpage without the proper User-Agent
The app uses several forms to let the user enter information. In each form the info is entered into textboxes and dealt with elsewhere when the "Enter" button is clicked. A lot if the info entered is used in calculations and so must not contain alpha characters, only numbers. What is the best way of examining each entry and identifying any that are not numbers, so that I can ask the user for a correction with a MsgBox?Prevent Users Entering Letters Instead of Numbers?
I have a project that uses a number of DataGridView controls. Most of the cells are of the DataGridViewTextBoxCell persuasion. I declare my controls like so:Dim MyCell as DataGridViewCell Later I specify whether they are DataGridViewTextBoxControls or DataGridViewComboBoxCells like so:
MyCell = New DataGridViewTextBoxCell MyCell = New DataGridViewComboBoxCell None of the places in my code require the ability for the users to enter their own values in the Combo Boxes. That is, they are either hard-coded or the values are gathered from other data within the application.
Currently, users can highlight a combo box control defined as shown above and begin typing anything they like. For example, I have one combo box that offers the user a selection of integers between 1 and 9. I can highlight the combo box cell and enter "Hello, World!" if I'd like.What does it take to disable this ability? I'm sure there's a property, but I have yet to find it. I have searched the Internet, and have found only the ability to have user-entered values added to the list and a stream of data-binding tutorials.
I am trying to develop a small application that logs the IP address and or computer names of all the users [my domain or remote location] that accessed files or folders on the server.
I've got a website and we just had a huge jump in traffic. Now all of the sudden we're getting sql parameter errors left and right. We switched to a new sql server a few weeks ago and everything has been fine but the added traffic seems to be breaking us.I have a data access class that is called when each user trys to logon. It runs through several tasks before finally updating the users last login date and forwarding them to the administration section.
What I'm seeing from the trace logs suggests that when I'm logging in the first several tasks are using my data (lets say user=birk pass=word). But at some point the accessor class starts sending over the data from someone else who's trying to login (lets say user=abcxyz).Every connection we make to the server is closed when we're finished with it. I'm nulling out all of the accessor objects when I'm finished with them. But somehow different user data from different sessions are making their way into other peoples instances of the object.
I'm not using session/application/cache/viewstate to store the objects so I'm not really seeing how they could edit eachother... Its just really weird and I'm not sure how to even go about researching the problem.This is roughly the accessor class... I trimmed out some of the parts that weren't reliant to the issue
1st label is "Clock" this pulls the time from the users current time zone/local time
2nd label is "UTCClock" Which would be UTC time
Now I have this for the first label: clock.Text = Format(TimeOfDay, "hh:mm:ss tt")
Which would give the users current time zone/local time. As for the UTC.. how would I add in for the UTC time from where the user is located at? I did some searches.. but couldnt find what I was looking for.. IM pretty sure its not as easy as getting the users current time zone/local time.. So im assuming that Theres a "bit more" code into getting UTC time..
I am building an intranet site and i want to display the users email(not the complete email), but the subject, from, date and time. However, the first step would be connecting to the exchange server using the NTLM credentials, which are the same, however, i dont want the user to have to type their password to connect to the email.
Im am trying to get two separate applications to communicate with one another via a txt file. The first application writes to a txt file every even second and the second application reads the text file every odd second. The problem is Im getting an exception saying The process cannot access the file FILE_PATH.txt' because it is being used by another process. Not sure if my code is correct or not? Or if there is a better way to do this?
i made downloader that will display the following items to the user. The Name of the file that the user is downloading The Url Were the file is being saved The Size of the file The speed at which the file is being downloaded And the Status. But the Problem is that the downloader can only download one file at a time. How can i make a multiple file downloader Which if the user wants to download 2 or 23 files he can.
I have created a scrabble game that generates random letters. For the user to type in a word using the random letters they have to type it in a text box.
I want my program to prevent users from typing in letters that are not provided in the text box and to allow them to type in the random letters that are provided.
I have a TreeView object on my form, with check boxes. By the way, I'm working with vb.NET. I want it to perform a few different things with the aftercheck event:
If you check a node, check all its children If you uncheck a node, uncheck the parent node If you uncheck a node, uncheck all its children
The problem is when you uncheck a node, it unchecks its parent node, which triggers the event again and unchecks all its children.
Would there be a way to prevent the event from triggering a second time? Or will I have to give up on one of those two points?
Here's the code, if it helps any:
If e.Node.Level > 0 Then If e.Node.Checked = False Then If e.Node.Parent.Checked = True Then
[code]....
While I'm at it, is there a way to check if a folder is accessible? I've toyed with FileAttributes, but can't seem to find out how to make it work...
How do I prevent the user from resizing my program during run-time? I know how to disable the max and min buttons at the top, but I can still click the edge and drag it to resize my program. I want to be able to disable this feature so my program stays the same size the whole time.
I have developed an application in VB.NET. It has 20 forms. All 20 can be opened from a menu strip control. The user should be able to open only one form at a time. How might
To prevent multiple clicks on button in VB6 I have add button.enabled=false in start procedure and button.enabled=true in end. But in Vb.Net all clicks are stored in memory and wher procedure is over - then it started again. You can see it in this example:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Enabled = False