2

asp.net MVC を使用して Web アプリケーションを開発しています。HTML5 を介してユーザーの要求に応じて、アプリケーション全体をオフラインにする必要があります。

マニフェストを作成して、CSS/JS/画像ファイルなどのファイルをオフラインにすることはできますが。データベース接続をオフラインにする方法がわかりません(SQLLiteのようなものだと思いますか?)

これは IE 8 以降、Safari (IOS)、Chrome (Android) でサポートされている必要があります。

アプリケーションをオフラインで参照するときに使用可能にする必要があるルックアップ値が多数あるため、ローカル ストレージだけを使用することはできません。これは、ユーザーの承認を得て、大量のデータをオフラインで保存する必要があることを意味します。

何かご意見は?

4

1 に答える 1

1

IE8+、Safari、および Chrome のサポートについては、SequelSphere を使用する必要があります: www.SequelSphere.com

SequelSphere は、真に幅広いブラウザーとプラットフォームをサポートする唯一のリレーショナル データベース製品です。また、アプリケーション キャッシュ マニフェストを使用して "オフライン" で動作し、そのデータを IndexedDB または LocalStorage (可用性に基づく順序で) に格納します。

WebSQL (SQLLite) については、IE と Firefox ではサポートされていません:ブラウザーによる WebSQL の使用法

SequelSphere に関して言えば、テーブルの作成は非常に簡単です。

db.catalog.createTable({
    tableName: "EMPL",
    columns: [ "EMPL_ID", "NAME", "AGE", "DEPT_ID" ],
    primaryKey: [ "EMPL_ID" ],
    data: [
        [0,"Bob",32,0],
        [1,"John",37,2],
        [2,"Fred",28,1]
    ]
});

データのクエリは簡単です。

var res = db.query("SELECT name, age, dept_id FROM empl WHERE Dept_ID = 2");

データの挿入/更新/削除は簡単です:

db.insertRow("empl", [3, "Sue", 26, 2]);
db.updateRow("empl", [3, "Suzy", 26, 2]);
db.deleteRow("empl", [3, "Suzy", 26, 2]);

注意すべき点: これはオフライン アプリケーションで使用されるため、カタログ全体または各テーブルの「持続範囲」を「SCOPE_LOCAL」に設定してください。

db.catalog.setPersistenceScope(db.SCOPE_LOCAL);
//  -or-
db.catalog.getTable("empl").setPersistenceScope(db.SCOPE_LOCAL);

ご不明な点がございましたら、SequelSphere のサポートまでメールでお問い合わせください。

完全な透明性のために、私は SequelSphere の一部であり、あなたの質問に非常によく答えているようです... ;)

于 2012-12-07T19:51:09.400 に答える