Сжатие (или подобное) сжатие доступно для Silverlight 3? - PullRequest
1 голос
/ 11 августа 2010

Существует ли какая-либо реализация deflate для Silverlight 3, совместимая с .NET one?

Или, за исключением этого, есть ли какой-либо аналогичный алгоритм сжатия, доступный для .NET и Silverlight, который я могу использовать?*

Я попробовал этот пример LZW: http://paste.lisp.org/display/12198,, но, к сожалению, он работает не очень хорошо.

1 Ответ

1 голос
/ 12 августа 2010

Silverlight может извлечь файл из zip-архива с указанием имени файла. .NET способен создавать Zip-файлы. Таким образом, предполагая, что направление - сервер-> клиент (что звучит так, как оно есть), вы можете использовать этот код на стороне клиента: -

 WebClient client = new WebClient();
 client.OpenReadCompleted => (s, args)
 {
    StreamResourceInfo zipInfo = new StreamResourceInfo(args.Result, null);
    StreamResourceInfo streamInfo = Application.GetResourceStream(zipInfo, new Uri("myfile.dat", UriKind.Relative));
    YourFunctionToProcessTheDecompressedStream(streamInfo.Stream);
 }
 client.OpenRead(new Url("http://yourserver/somehandler.ashx"));

"somehandler.ashx" может взять некоторый поток ввода и сохранить его в zip-архиве как "myfile.dat", отправив полученный zip-файл в ответ.

...