IBatisNet.Common.Utilities.Resources.GetConfigAsXmlDocument(string) doesn't
attempt to close its XmlTextReader when an exception is thrown while parsing
the SqlMap.config file
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: IBATISNET-67
URL: http://issues.apache.org/jira/browse/IBATISNET-67
Project: iBatis for .NET
Type: Bug
Reporter: Ron Grabowski
Assigned to: Gilles Bayon
As of 5/20/2005, if an exception is thrown while trying to parse SqlMap.config
(note the incorrect closing XML comment tag):
<!--
<sqlMap embedded="Resources.SqlMaps.Foo.xml, Company.Project.Data"/>
->
the underlying XmlTextReader is not closed. On XP/IIS, the SqlMap.config file
becomes locked by aspnet_wp.exe and the webserver needs to be restarted. This
code:
public static XmlDocument GetConfigAsXmlDocument(string fileName)
{
XmlDocument config = new XmlDocument();
try
{
XmlTextReader reader = new XmlTextReader(Path.Combine(_baseDirectory,
fileName));
config.Load(reader);
reader.Close(); // <--- NEVER CALLED IF AN EXCEPTION IS THROWN
}
catch(Exception e)
{
throw new ConfigurationException(
string.Format("Unable to load config file \"{0}\". Cause : ",
fileName,
e.Message ) ,e);
}
return config;
}
Needs to be changed to this:
public static XmlDocument GetConfigAsXmlDocument(string fileName)
{
XmlDocument config = new XmlDocument();
XmlTextReader reader = null;
try
{
reader = new XmlTextReader(Path.Combine(_baseDirectory, fileName));
config.Load(reader);
}
catch(Exception e)
{
throw new ConfigurationException(
string.Format("Unable to load config file \"{0}\". Cause : ",
fileName,
e.Message ) ,e);
}
finally
{
if (reader != null)
{
reader.Close();
}
}
return config;
}
I searched all the files in the Common, DataAccess, and DataMapper projects for
"XmlTextReader" and everything else looks correct.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira