diff --git a/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContext.cs b/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContext.cs
index 2c0ae2ec..c76603a6 100644
--- a/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContext.cs
+++ b/src/Spring/Spring.Core/Context/Support/AbstractXmlApplicationContext.cs
@@ -116,12 +116,11 @@ namespace Spring.Context.Support
protected override void RefreshObjectFactory()
{
// Shut down previous object factory, if any.
- IConfigurableListableObjectFactory oldObjectFactory = null;
- oldObjectFactory = Interlocked.Exchange(ref _objectFactory, null);
+ IConfigurableListableObjectFactory oldObjectFactory = _objectFactory;
+ _objectFactory = null;
if (oldObjectFactory != null)
{
- // _objectFactory = null;
oldObjectFactory.Dispose();
}
diff --git a/src/Spring/Spring.Core/Util/IoUtils.cs b/src/Spring/Spring.Core/Util/IoUtils.cs
index a0be58fe..2d405aff 100644
--- a/src/Spring/Spring.Core/Util/IoUtils.cs
+++ b/src/Spring/Spring.Core/Util/IoUtils.cs
@@ -3,16 +3,16 @@ using System.IO;
namespace Spring.Util
{
- ///
- /// Utility methods for IO handling
- ///
+ ///
+ /// Utility methods for IO handling
+ ///
internal sealed class IOUtils
{
private IOUtils()
{
throw new InvalidOperationException("instantiation not supported");
}
-
+
///
/// Copies one stream into another.
/// (Don't forget to call on the destination stream!)
@@ -20,36 +20,31 @@ namespace Spring.Util
///
/// Does not close the input stream!
///
- public static void CopyStream( Stream src, Stream dest )
+ public static void CopyStream(Stream src, Stream dest)
{
int bufferSize = 2048;
byte[] buffer = new byte[bufferSize];
- int bytesRead = src.Read(buffer, 0, bufferSize);
- while( bytesRead == bufferSize )
+ int bytesRead = 0;
+ while ((bytesRead = src.Read(buffer, 0, bufferSize)) > 0)
{
- dest.Write( buffer, 0, bytesRead );
- bytesRead = src.Read( buffer, 0, bufferSize );
+ dest.Write(buffer, 0, bytesRead);
}
- if (bytesRead > 0)
- {
- dest.Write( buffer, 0, bytesRead );
- }
}
-
+
///
/// Reads a stream into a byte array.
///
///
/// Does not close the input stream!
///
- public static byte[] ToByteArray( Stream src )
+ public static byte[] ToByteArray(Stream src)
{
MemoryStream stm = new MemoryStream();
- CopyStream( src, stm );
- stm.Flush();
+ CopyStream(src, stm);
+ stm.Close();
return stm.ToArray();
- }
-
+ }
+
}
}