アプリケーションはAngularjsで構築されていますが、1つのシナリオではJSONデータをクライアント側に送信しています。だから時間がかかります。だから私たちが今行ったことは、JSONデータをGZIP文字列として作成することです。GZip Json Stringを通常のJson String(Angularjs + Typescript)に解凍
public static string Compress(string s)
{
var bytes = Encoding.Unicode.GetBytes(s);
using (var msi = new MemoryStream(bytes))
using (var mso = new MemoryStream())
{
using (var gs = new GZipStream(mso, CompressionMode.Compress))
{
msi.CopyTo(gs);
}
return Convert.ToBase64String(mso.ToArray());
}
}
上記のコードを使用した後、文字列のサイズは十分に縮小されました。 しかし、私たちの問題は、クライアントサイドでそのGZIPを解凍できないことです。上記の行でライブラリ以下、私が試してみました
、
が、それでも私たちは活字体を使用しているように、我々は、ページ内のアクセス方法を得るいけない、
var gunzip = new Zlib.Gunzip(bytes);
var plain = gunzip.decompress();
Zlibのではありません利用可能です。 TypeScriptの定義が同じではないためかもしれません。
だから誰でもGzip文字列の上に解凍するのを助けることができます。
あなたは車輪を再発明していますか?あなたのアプリケーションサーバー/ブラウザはおそらくあなたのためだけに圧縮することができます。 http://blogs.msdn.com/b/kiranchalla/archive/2012/09/04/handling-compression-accept-encoding-sample.aspx – Juan
@Juanサーバーからのデータを制御できないため、処理する必要がありますクライアント側で –