RIA でクライアントにデータを転送
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
少し漠然とした話なのですが、クライアントにデータを転送について
どのようにしているのかということが気になったので質問します。
RIA では定義した変数の値は必要に応じてサーバーとクライアントで同期が取られると思いますが、
もう少し多くのデータをテーブルのようにまとまった単位でクライアントに渡し、.NET 連携などを使用して
クライアント側でそのデータを参照し、クライアント側だけで処理する良い方法が無いかと思っています。
イメージとしてはメモリテーブルの実態がクライアントにある感じです。
メモリテーブルはサーバー側に実態があるのでデータの参照にはサーバーと通信が発生します。
そうではなく、ファイルを使わず、クライアントのメモリに展開して扱える仕組みは無いのでしょうか?
又、例えば .NET 連携で Dataset を定義するとして、そこに一度だけサーバーからデータを転送をしておき、
以降はそれを参照するような使い方が出来ないかと思っているのですが、それをやろうとしても
一度はサーバーからデータを転送して、Dataset に流し込む必要があります。
これを行う、簡単な方法が無いものでしょうか。
Magic の型から Dataset など .NET の型へ型をあまり意識せず変換出来る仕組みとか。
ベクトル型や BLOB 型にまとめて、.NET 側で展開する方法とか。
SQLite のモジュールをクライアントに配布して、クライアント側に DB 作ってますとかの無謀な案でも可。
「こんな方法があるよ」というのがありましたがお願いします。
どのようにしているのかということが気になったので質問します。
RIA では定義した変数の値は必要に応じてサーバーとクライアントで同期が取られると思いますが、
もう少し多くのデータをテーブルのようにまとまった単位でクライアントに渡し、.NET 連携などを使用して
クライアント側でそのデータを参照し、クライアント側だけで処理する良い方法が無いかと思っています。
イメージとしてはメモリテーブルの実態がクライアントにある感じです。
メモリテーブルはサーバー側に実態があるのでデータの参照にはサーバーと通信が発生します。
そうではなく、ファイルを使わず、クライアントのメモリに展開して扱える仕組みは無いのでしょうか?
又、例えば .NET 連携で Dataset を定義するとして、そこに一度だけサーバーからデータを転送をしておき、
以降はそれを参照するような使い方が出来ないかと思っているのですが、それをやろうとしても
一度はサーバーからデータを転送して、Dataset に流し込む必要があります。
これを行う、簡単な方法が無いものでしょうか。
Magic の型から Dataset など .NET の型へ型をあまり意識せず変換出来る仕組みとか。
ベクトル型や BLOB 型にまとめて、.NET 側で展開する方法とか。
SQLite のモジュールをクライアントに配布して、クライアント側に DB 作ってますとかの無謀な案でも可。
「こんな方法があるよ」というのがありましたがお願いします。
投票数:0
平均点:0.00
pu_mahalo
居住地: 大阪
投稿数: 775
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
こんにちは Puです
それだったら Magic返さず
直接ASP.NETのDATASETで良いんじゃぁないですか
WEBアプリなんで メニューからLINKでASP.NETのAPL呼べば
ライセンスの関係で ASP.NET とRIAの混在ってありかと思いますが
全然アドバイスになってなくて すみません
でわ〜でわ〜
それだったら Magic返さず
直接ASP.NETのDATASETで良いんじゃぁないですか
WEBアプリなんで メニューからLINKでASP.NETのAPL呼べば
ライセンスの関係で ASP.NET とRIAの混在ってありかと思いますが
全然アドバイスになってなくて すみません
でわ〜でわ〜
投票数:0
平均点:0.00
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
何だか訳が判らん質問に回答ありがとうございます。
質問内容からは少し違いますがそういう方法もありますね。
私自身、ASP.NET に明るくないのと uniPaas で
Web サービスを使ったことないので色々、調査が必要ですが…
イメージとして、ASP.NET 側で
[WebMethod]
public Dataset getData()
{
Dataset ds = new Dataset();
(中略)
return ds;
}
とかは出来るとして、uniPaaS の .NET 連携側で
localhost.Service1 s = new localhost.Service1();
DataGridView1.DataSource = s.getData();
とかが出来るかどうかですね(Web 参照が出来たかなぁ?)
uniPaaS 自体にも外部コール辺りに Web サービスがあったはずなので
その辺りも使えるかも知れませんね。
質問内容からは少し違いますがそういう方法もありますね。
私自身、ASP.NET に明るくないのと uniPaas で
Web サービスを使ったことないので色々、調査が必要ですが…
イメージとして、ASP.NET 側で
[WebMethod]
public Dataset getData()
{
Dataset ds = new Dataset();
(中略)
return ds;
}
とかは出来るとして、uniPaaS の .NET 連携側で
localhost.Service1 s = new localhost.Service1();
DataGridView1.DataSource = s.getData();
とかが出来るかどうかですね(Web 参照が出来たかなぁ?)
uniPaaS 自体にも外部コール辺りに Web サービスがあったはずなので
その辺りも使えるかも知れませんね。
投票数:0
平均点:0.00
Jiro123
投稿数: 271
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
Magic uniPaaS V1Plus 1.9g から、リッチクライアント用に、ServerFileToClient()とClientFileToServer()という2つの関数が追加されています。
これらの関数を利用することで、クライアント・マシンとサーバ・マシンの間に簡単にファイルを転送することができるそうです。
ヘルプのマスタリング Magic uniPaaS > リッチクライアント補足 > サーバとクライアントの間でファイル転送を行うには
に、解説が載っていますね。
私は、まだこれらの関数を試したことがないのですが、試された方いらっしゃいましたら、どんな感じか、感想などお聞かせ頂けると助かります。
ネットワークやマシンスペックなどにも影響するでしょうが、どの程度のファイルサイズまで転送できるのか、その目安が確認できるとうれしいですね。
これらの関数を利用することで、クライアント・マシンとサーバ・マシンの間に簡単にファイルを転送することができるそうです。
ヘルプのマスタリング Magic uniPaaS > リッチクライアント補足 > サーバとクライアントの間でファイル転送を行うには
に、解説が載っていますね。
私は、まだこれらの関数を試したことがないのですが、試された方いらっしゃいましたら、どんな感じか、感想などお聞かせ頂けると助かります。
ネットワークやマシンスペックなどにも影響するでしょうが、どの程度のファイルサイズまで転送できるのか、その目安が確認できるとうれしいですね。
投票数:0
平均点:0.00
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
> Magic uniPaaS V1Plus 1.9g から、リッチクライアント用に、
> ServerFileToClient()とClientFileToServer()という2つの関数が追加されています。
1.9g 以前、File2Blb()、Blb2File() と ClientBlb2File()、ClientFile2Blb() のセットでやっていた処理が
一つで出来るようになった位の認識ですね。ファイル転送は少し楽になりました。
ただ、ファイルを使わずにデータを受け渡す方法って、BLOB にまとめるくらいしか方法無いんですよね。
> ネットワークやマシンスペックなどにも影響するでしょうが、
> どの程度のファイルサイズまで転送できるのか、その目安が確認できるとうれしいですね。
File2Blb()、Blb2File() と ClientBlb2File()、ClientFile2Blb() の時に目安を聞いたことがありますが、
結局、マシンのメモリとかに左右されるのでなんとも言えないそうです。
V10 の頃には 3MB 程度でも途中で化けた状態で転送されていましたからね。
逆に新関数は数 10MB 程度であれば問題無く転送出来ることは確認しています。
> ServerFileToClient()とClientFileToServer()という2つの関数が追加されています。
1.9g 以前、File2Blb()、Blb2File() と ClientBlb2File()、ClientFile2Blb() のセットでやっていた処理が
一つで出来るようになった位の認識ですね。ファイル転送は少し楽になりました。
ただ、ファイルを使わずにデータを受け渡す方法って、BLOB にまとめるくらいしか方法無いんですよね。
> ネットワークやマシンスペックなどにも影響するでしょうが、
> どの程度のファイルサイズまで転送できるのか、その目安が確認できるとうれしいですね。
File2Blb()、Blb2File() と ClientBlb2File()、ClientFile2Blb() の時に目安を聞いたことがありますが、
結局、マシンのメモリとかに左右されるのでなんとも言えないそうです。
V10 の頃には 3MB 程度でも途中で化けた状態で転送されていましたからね。
逆に新関数は数 10MB 程度であれば問題無く転送出来ることは確認しています。
投票数:0
平均点:0.00
s_nagura
投稿数: 109
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
こんにちは。
Magic On Demand Seminarのセミナー、「Magic uniPaaS Ver1.9g 新機能のご紹介」の中で「環境にもよりますが10MBくらい…」と転送量に関する音声解説がありましたよ。
Magic On Demand Seminarのセミナー、「Magic uniPaaS Ver1.9g 新機能のご紹介」の中で「環境にもよりますが10MBくらい…」と転送量に関する音声解説がありましたよ。
投票数:0
平均点:0.00