Problem with file accessing

  • Thread starter Thread starter sushma
  • Start date Start date
S

sushma

Hi all. My Problem is i have an application that launches an external process on a button click. The other process has a feature of accessing a file during its load and also in its formclosing method.

Now the problem is once i launch and close the application and immediately relaunch the application it gives me an exception saying that the file is in use.

What is the workaround for this since same file is being accessed during the closing of the previous instance and launching of the new instance.

My Code snippet where i get an exception is

XmlDocument dom = new XmlDocument();
string strFileName = Application.StartupPath + "\\DataAccess\\FunctionAccessList.xml";
dom.Load(strFileName);

Right now i managed like below


XmlDocument dom = new XmlDocument();
string strFileName = Application.StartupPath + "\\DataAccess\\FunctionAccessList.xml";
try
{
//FileStream fs = System.IO.File.Open(strFileName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.None);
// fs.Close();

dom.Load(strFileName);
}
catch
{
try
{
Thread.Sleep(10000);
dom.Load(strFileName);
}
catch
{
InformationAlert.Show("Please wait for some time and launch Programs and Reports, as the Programs list is being refreshed.",true );
Application.Exit();
}
}

Please post me some work around for this



EggHeadCafe.com - .NET Developer Portal of Choice
http://www.eggheadcafe.com
 
Why not just make it so you can share the file for read access
(FileShare.Read)? That way, you aren't blocking out other processes that
want to read the file (I'm assuming you are reading the same file in the
other process in the same way).

Hope this helps.
 
Hi Nicholas

Thanks for replying..
That file is being written in the other process. I am not reading the file.

what should i do now?
Why not just make it so you can share the file for read access
(FileShare.Read)? That way, you aren't blocking out other processes that
want to read the file (I'm assuming you are reading the same file in the
other process in the same way).

Hope this helps.

--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

Hi all. My Problem is i have an application that launches an external
process on a button click. The other process has a feature of accessing a
file during its load and also in its formclosing method.

Now the problem is once i launch and close the application and immediately
relaunch the application it gives me an exception saying that the file is
in use.

What is the workaround for this since same file is being accessed during
the closing of the previous instance and launching of the new instance.

My Code snippet where i get an exception is

XmlDocument dom = new XmlDocument();
string strFileName = Application.StartupPath +
"\\DataAccess\\FunctionAccessList.xml";
dom.Load(strFileName);

Right now i managed like below


XmlDocument dom = new XmlDocument();
string strFileName = Application.StartupPath +
"\\DataAccess\\FunctionAccessList.xml";
try
{
//FileStream fs = System.IO.File.Open(strFileName,
FileMode.OpenOrCreate, FileAccess.Read, FileShare.None);
// fs.Close();

dom.Load(strFileName);
}
catch
{
try
{
Thread.Sleep(10000);
dom.Load(strFileName);
}
catch
{
InformationAlert.Show("Please wait for some
time and launch Programs and Reports, as the Programs list is being
refreshed.",true );
Application.Exit();
}
}

Please post me some work around for this



EggHeadCafe.com - .NET Developer Portal of Choice
http://www.eggheadcafe.com




___
Newsgroups brought to you courtesy of www.dotnetjohn.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top