发表于 2015-7-9 11:58:23

MongoDB Driver for Silverlight打造过程

  Silverlight可以看做精简版的.Net,有着比.Net framework高得多的快速部署能力,以及跨平台的优势。
  最近有个想法,就是用Silverlight做一个MongoDB的管理工具。而MongoDB的C#驱动基于.Net 3.5的,依赖了许多Silverlight不具备的库。所以第一步就是移植驱动。
  
  MongoDB C#驱动由两个dll构成:MongoDB.Bson和MongoDB.Driver。
  创建一个Silverlight5的项目,然后在解决方案下新建Bson和Driver的类库项目。
复制原有的代码文件,并修改项目属性中的程序集名称,默认命名空间和程序集信息,与原项目保持一致。
  
  一些Silverlight不具备的类库,需要替代:
  Hashtable -> Dictionary
  ArrayList -> List
  Queue -> Queue
  Stack -> Stack
  System.Drawing.Image ->System.Windows.Controls.Image
  
  一些Silverlight过时或者不具备的集合,把他从序列化器中删去:
  ListDictionary
OrderedDictionary
SortedList
等等
  抛出异常构造方法包含SerializationInfo的,一律注释掉:
  public TruncationException(SerializationInfo info, StreamingContext context)
            : base(info, context)
  
  Silverlight中没有Serializable特性
  SerializableAttribute
FileFormatException : FormatException
  
  其他类的处理方法:
  Bitmap:在BsonDefaultSerializer.cs的61行
  
  Size:在BsonDefaultSerializer.cs的92行
  
  RuntimeHelper
  C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v5.0\mscorlib.dll
页: [1]
查看完整版本: MongoDB Driver for Silverlight打造过程