Ask a Question related to ASP.NET Web Services, Design and Development.
-
Keith #1
File locked by another process when cached with CacheDependency
Hi.
I've developed an ASP.NET web service that uses an xml file to store
configuration settings. I'm creating a cache dependency based on the xml
file and its schema, like this...
XmlDocument doc = new XmlDocument();
{ ........ }
string [] filePaths = { filePath, schemaPath };
CacheDependency dep = new CacheDependency(filePaths);
Context.Cache.Insert(key, doc, dep);
The problem is the files are being locked by another process. I'm assuming
they're locked by the aspnet_wp process, because if I run iisreset, the
files are free until the next time the web service is called.
I'd like to be able to update the files without having to reset the server
each time. I'd expect the cached item would then be cleared from cache, so I
can reload it with the newer version of the xml document.
The documentation for HttpContext.Cache says this is possible, but it's not
working.
Thanks in advance.
-|<eith.
Keith Guest
-
file locked but there's no .LCK
"you can't edit this page because you are currently editing it on another computer", says contribute. And I know for sure I'm not. I know all... -
How to recognize the locked PDF-file?
Hello! I need to overload the standard Acrobat message that the document is opened by another application which appears on saving the document.... -
help: File is locked
Could anyone help me with this? I created a vector image file a couple of days ago, when I made some changes today, and tried to save it, Fireworks... -
File Locked
Everytime I try to save an image to html with slices I get a file locked error. If I get rid of the slices there is no problem. I checked other file... -
A failure occurred writing to the resources file. Access is denied. -- RESX file is locked? -- WHY?
Hi. This is an error that comes up fairly regularly when trying to run the "Rebuild All" command in a Solution that contains more than one... -
MSFT #2
RE: File locked by another process when cached with CacheDependency
Hi Keith,
Each application domain has its own Cache object. If your XML file was
cached by an app, you must remove it from cache so that it can be reused,
like:
HttpContext.Cache.remove("key1")
Luke
Microsoft Online Support
Get Secure! [url]www.microsoft.com/security[/url]
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
MSFT Guest
-
Keith #3
Re: File locked by another process when cached with CacheDependency
I found the answer to my problem. I wasn't closing my XmlValidatingReader
object. Duh! Thanks for your help Luke.
-|<eith
------------------------------------------
string filePath = Server.MapPath("ParamConfig.xml");
string schemaPath = Server.MapPath("ParamConfig.xsd");
// open, validate and cache config file.
XmlTextReader xtr = new XmlTextReader(filePath);
XmlValidatingReader xvr = new XmlValidatingReader(xtr);
XmlTextReader sxtr = new XmlTextReader(schemaPath);
xvr.Schemas.Add(null, sxtr);
doc = new XmlDocument();
doc.Load(xvr);
// THIS LINE SOLVED THE PROBLEM
xvr.Close();
string [] filePaths = { filePath, schemaPath };
CacheDependency dep = new CacheDependency(filePaths);
Context.Cache.Insert(key, doc, dep);
------------------------------------------
Keith Guest
-
Unregistered #4
Re: File locked by another process when cached with CacheDependency
Thanks, Your guide help me also
I used the file stream for my xmldocument.
my code is:
//Open and read the textfile
XmlDocument D = new XmlDocument();
FileStream fs = new FileStream(FN, FileMode.Open, FileAccess.Read);
D.Load(fs);
....
//this line solved my problem
fs.Close();Unregistered Guest



Reply With Quote

