-Fixed BsonWriter failing silently when writing values outside of an Object or Array
-Fixed serializer attempting to use dynamic code generation in partial trust
This commit is contained in:
@@ -625,5 +625,18 @@ namespace Newtonsoft.Json.Tests.Bson
|
||||
|
||||
Assert.IsFalse(reader.Read());
|
||||
}
|
||||
|
||||
[Test]
|
||||
[ExpectedException(typeof(JsonWriterException), ExpectedMessage = "Error writing String value. BSON must start with an Object or Array.")]
|
||||
public void WriteValueOutsideOfObjectOrArray()
|
||||
{
|
||||
MemoryStream stream = new MemoryStream();
|
||||
|
||||
using (BsonWriter writer = new BsonWriter(stream))
|
||||
{
|
||||
writer.WriteValue("test");
|
||||
writer.Flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,5 +41,5 @@ using System.Runtime.InteropServices;
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("4.0.2.0")]
|
||||
#if !PocketPC
|
||||
[assembly: AssemblyFileVersion("4.0.2.13707")]
|
||||
[assembly: AssemblyFileVersion("4.0.2.13721")]
|
||||
#endif
|
||||
|
||||
@@ -199,6 +199,9 @@ namespace Newtonsoft.Json.Bson
|
||||
}
|
||||
else
|
||||
{
|
||||
if (token.Type != BsonType.Object && token.Type != BsonType.Array)
|
||||
throw new JsonWriterException("Error writing {0} value. BSON must start with an Object or Array.".FormatWith(CultureInfo.InvariantCulture, token.Type));
|
||||
|
||||
_parent = token;
|
||||
_root = token;
|
||||
}
|
||||
|
||||
@@ -110,7 +110,7 @@ using System.Security;
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("4.0.2.0")]
|
||||
#if !PocketPC
|
||||
[assembly: AssemblyFileVersion("4.0.2.13707")]
|
||||
[assembly: AssemblyFileVersion("4.0.2.13721")]
|
||||
#endif
|
||||
|
||||
[assembly: CLSCompliant(true)]
|
||||
|
||||
@@ -271,6 +271,7 @@ namespace Newtonsoft.Json.Serialization
|
||||
new ReflectionPermission(ReflectionPermissionFlag.MemberAccess).Demand();
|
||||
new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess).Demand();
|
||||
new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand();
|
||||
new SecurityPermission(PermissionState.Unrestricted).Demand();
|
||||
_dynamicCodeGeneration = true;
|
||||
}
|
||||
catch (Exception)
|
||||
|
||||
Reference in New Issue
Block a user