{
  "WorkItem": {
    "AffectedComponent": {
      "Name": "",
      "DisplayName": ""
    },
    "ClosedComment": "",
    "ClosedDate": "2010-08-26T18:39:38.24-07:00",
    "CommentCount": 0,
    "Custom": "Silverlight 3",
    "Description": "From the Discussions Post: http://dotnetzip.codeplex.com/Thread/View.aspx?ThreadId=52272 \n-------------------------------------------------------------------------------------------------------------\n \nI have a very practical application for a small lightweight DeflateStream in Silverlight 3 and 4.\n \nEssentially what we are doing is compressing object serialization graphs to make the payload transmitted between the Silverlight client and the WCF host on the server significantly smaller (compresses to between 3-8% of original payload).\n \nAs you know .NET offers some built in compression support but it doesn't follow the RFC standards nor is this compression class available in Silverlight. This is where the classes from DotNetZip, specifically the Zlib namespace, would be perfect as it offers a lightweight set of classes to achieve the above (only the compression and decompression of streams and byte arrays is needed).\n \nAs part of my evaluation of whether DotNetZip could work for the above scenario, I downloaded the source and looked at its structure and identified that only the ZLib namespace/assembly is what's needed. I proceeded to create both a Silverlight 3 and a Silverlight 4 project (Visual Studio 2010) and added the files from the Zlib project as *linked* files (thus avoiding copying and duplicating the source code). Much to my delight I found that it compiled perfectly (with the exception of having to comment out trace code for outputting debugging content to the console).\n \nSo, armed with both the .NET and the Silverlight assembly of the Ionic.Zlib.dll, I proceeded to plug it into our LOB application and it worked beautifully and performed better than SharpZipLib did. The following were beneficial to us:\n \n* Much smaller Silverlight assembly (than say SharpZipLib) resulting in smaller .XAP package to be downloaded to client browsers. \n* Rough metrics offered almost 10% performance improvement using DeflateStream (this improvement is of course relative to the payload and usage scenario). \n* Much simpler and better organised API. \n* It's strong named (unlike SharpZipLib's Silverlight assembly ??) allowing it to be used in strongly named projects. \n* We build some of our applications using the CSLA Framework from Rockford Lhotka (http://www.lhotka.net/) and I'm aware of many other developers that would consider using DotNetZip over SharpLibZip due to the above benefits. This would however require that there is both a Silverlight 3 and Silverlight 4 version of the small Ionic.Zlib.dll assembly available in the downloads. Based on my very quick and easy adaptation above, I believe this to be \"low hanging fruit ready to be picked\".\n \nHopefully I've made a case for creating a Silverlight 3/4 assembly of the Zlib namespace and really hope this meets with your approval. If so, I would immediately switch over to DotNetZip (it's just that much better) and appeal to the CSLA community to consider the DotNetZip alternative.\n \n--------------------------------------------------------------------\nSummary of changes to make:\n* Add a new Silverlight 3 Class Library project and call it \"Zlib Silverlight 3 DLL\"\n* Setup the new project to be consistent with the other projects with regard to use of SolutionInfo.cs, namespaces, assembly names, signing, etc.\n* Link all the class files from the \"Zlib\" project\n* Check out and edit ParallelDeflatOutputStream.cs and add conditional compilation statements to the \"TraceOutput\" method that excludes the setting of console colours under Silverlight only.",
    "LastUpdatedDate": "2017-12-07T14:24:31.24-08:00",
    "PlannedForRelease": "1.9.5 DotNetZip preview",
    "ReleaseVisibleToPublic": false,
    "Priority": {
      "Name": "Low",
      "Severity": 50,
      "Id": 1
    },
    "ProjectName": "DotNetZip",
    "ReportedDate": "2010-08-22T15:38:04.71-07:00",
    "Status": {
      "Name": "Closed",
      "Id": 4
    },
    "ReasonClosed": {
      "Name": "Unassigned"
    },
    "Summary": "DeflateStream (basically Zlib) for Silverlight 3",
    "Type": {
      "Name": "Feature",
      "Id": 1
    },
    "VoteCount": 1,
    "Id": 11800
  },
  "FileAttachments": [],
  "Comments": [
    {
      "Message": "Silverlight 3 only",
      "PostedDate": "2010-08-26T18:39:29.047-07:00",
      "Id": -2147483648
    },
    {
      "Message": "Resolved with changeset 65587.",
      "PostedDate": "2010-08-26T18:39:38.24-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-02-21T18:43:27.543-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-05-16T05:31:44.877-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2017-12-07T14:24:31.24-08:00",
      "Id": -2147483648
    }
  ]
}