Skip to content

Commit 4b71a45

Browse files
committed
support LINQ binary
1 parent 7a75750 commit 4b71a45

10 files changed

Lines changed: 18 additions & 3 deletions

File tree

512 Bytes
Binary file not shown.

NuGet/servicestack.text.nuspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
33
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
44
<id>ServiceStack.Text</id>
5-
<version>3.5.3</version>
5+
<version>3.5.7</version>
66
<authors>Demis Bellot</authors>
77
<owners>Demis Bellot</owners>
88
<summary>.NET's fastest JSON, JSV and CSV Text Serializers (3x faster than JSON.NET)</summary>

src/ServiceStack.Text/Common/DeserializeBuiltin.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ private static ParseStringDelegate GetParseFn()
5656
return value => DateTimeSerializer.ParseShortestXsdDateTime(value);
5757
if (typeof(T) == typeof(TimeSpan))
5858
return value => TimeSpan.Parse(value);
59+
if (typeof(T) == typeof(System.Data.Linq.Binary))
60+
return value => new System.Data.Linq.Binary(Convert.FromBase64String(value));
5961

6062
if (typeof(T) == typeof(char))
6163
{

src/ServiceStack.Text/Common/ITypeSerializer.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ internal interface ITypeSerializer
3838
void WriteDecimal(TextWriter writer, object decimalValue);
3939
void WriteEnum(TextWriter writer, object enumValue);
4040
void WriteEnumFlags(TextWriter writer, object enumFlagValue);
41+
void WriteLinqBinary(TextWriter writer, object linqBinaryValue);
4142

4243
//object EncodeMapKey(object value);
4344

src/ServiceStack.Text/Common/JsWriter.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ public JsWriter()
129129
{ typeof(Uri), Serializer.WriteObjectString },
130130
{ typeof(Type), WriteType },
131131
{ typeof(Exception), Serializer.WriteException },
132+
{ typeof(System.Data.Linq.Binary), Serializer.WriteLinqBinary },
132133
};
133134
}
134135

src/ServiceStack.Text/Env.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ static Env()
2323
+ (IsMonoTouch ? " MonoTouch" : "");
2424
}
2525

26-
public static decimal ServiceStackVersion = 3.53m;
26+
public static decimal ServiceStackVersion = 3.55m;
2727

2828
public static bool IsUnix { get; set; }
2929

src/ServiceStack.Text/Json/JsonTypeSerializer.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,11 @@ public void WriteEnumFlags(TextWriter writer, object enumFlagValue)
251251
writer.Write(intVal);
252252
}
253253

254+
public void WriteLinqBinary(TextWriter writer, object linqBinaryValue)
255+
{
256+
WriteRawString(writer, Convert.ToBase64String(((System.Data.Linq.Binary)linqBinaryValue).ToArray()));
257+
}
258+
254259
public ParseStringDelegate GetParseFn<T>()
255260
{
256261
return JsonReader.Instance.GetParseFn<T>();

src/ServiceStack.Text/Jsv/JsvTypeSerializer.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,11 @@ public void WriteEnumFlags(TextWriter writer, object enumFlagValue)
196196
writer.Write(intVal);
197197
}
198198

199+
public void WriteLinqBinary(TextWriter writer, object linqBinaryValue)
200+
{
201+
WriteRawString(writer, Convert.ToBase64String(((System.Data.Linq.Binary)linqBinaryValue).ToArray()));
202+
}
203+
199204
public object EncodeMapKey(object value)
200205
{
201206
return value;

src/ServiceStack.Text/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
// You can specify all the values or you can default the Build and Revision Numbers
3333
// by using the '*' as shown below:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("3.5.3.*")]
35+
[assembly: AssemblyVersion("3.5.7.*")]
3636
//[assembly: AssemblyFileVersion("1.0.0.0")]

src/ServiceStack.Text/ServiceStack.Text.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
<Reference Include="System.Core">
6767
<RequiredTargetFramework>3.5</RequiredTargetFramework>
6868
</Reference>
69+
<Reference Include="System.Data.Linq" />
6970
<Reference Include="System.Runtime.Serialization">
7071
<RequiredTargetFramework>3.0</RequiredTargetFramework>
7172
</Reference>

0 commit comments

Comments
 (0)