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