KJFramework.Message 1.3.2

There is a newer version of this package available.
See the version list below for details.
dotnet add package KJFramework.Message --version 1.3.2
NuGet\Install-Package KJFramework.Message -Version 1.3.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="KJFramework.Message" Version="1.3.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add KJFramework.Message --version 1.3.2
#r "nuget: KJFramework.Message, 1.3.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install KJFramework.Message as a Cake Addin
#addin nuget:?package=KJFramework.Message&version=1.3.2

// Install KJFramework.Message as a Cake Tool
#tool nuget:?package=KJFramework.Message&version=1.3.2

KJFramework.Messages, 提供了.NET平台的高性能序列化/反序列化解决方案。

Product Compatible and additional computed target framework versions.
.NET Framework net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.6.0 1,846 12/19/2013
1.5.0 1,536 5/7/2013
1.4.3 1,358 4/7/2013
1.4.2 1,284 4/1/2013
1.4.1 1,263 3/28/2013
1.4.0 1,344 1/5/2013
1.3.2 1,293 12/24/2012
1.3.1.1 1,266 12/19/2012
1.3.0 1,516 9/17/2012
1.2.0 1,362 8/23/2012
1.1.1 1,372 8/10/2012
1.1.0 1,345 7/16/2012
1.0.0 1,272 7/16/2012

这是一次基于易用性和性能平衡性的升级,由于在原来的版本中,内存CPY的细节上总是一贯性的使用WIN32 API,
从而导致了一部分性能损耗来自于PInvoke技术的封送和调用上。在新的版本中,我们采用了.NET内部的Marshal类
来进行一部分的内存CPY任务。
      有一部分使用者汇报,他们由于忘记把序列化的类型标记为public而导致了内部的异常。哦,是的,这是一个潜在的使用风险,
在原来的版本中,由于我们并没有刻意强调被序列化类型的public权限的重要性,从而导致了一部分用户的操作失误。在新的版本中
我们也为此地方加入了更新。如果被序列化的对象不是public权限,那么这个异常在KJFramework.Message内部不会被吃掉,
反而会抛给外部来处理,新的异常使用.NET BCL里面的MethodAccessException来代替,并且我们重置了里面的异常友好信息。
      另外,除了在IMemorySegmentProxy中加入了重载方法WriteMemory(byte[], uint, uint)来扩展通用性之外,通过使用
IMemorySegmentProxy后我们不难发现,里面的GetBytes(bool)方法定义的有些问题,在使用者眼里,应该在此方法内部总是自动的
回收资源(内存片段), 而不是等着外部传入一个回收资源的参数。在新的更新中,我们更新了此方法的声明以及内部的实现细节。
      当然了,在最后,我们重新跑完了所有的单元测试,并为本次更新的内容加入了相关的单元测试方法。