ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

RIA でクライアントにデータを転送

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-5-2 12:26
s_nagura  一人前   投稿数: 109
こんにちは。
Magic On Demand Seminarのセミナー、「Magic uniPaaS Ver1.9g 新機能のご紹介」の中で「環境にもよりますが10MBくらい…」と転送量に関する音声解説がありましたよ。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-4-27 10:33
null  長老   投稿数: 191
> Magic uniPaaS V1Plus 1.9g から、リッチクライアント用に、
> ServerFileToClient()とClientFileToServer()という2つの関数が追加されています。
1.9g 以前、File2Blb()、Blb2File() と ClientBlb2File()、ClientFile2Blb() のセットでやっていた処理が
一つで出来るようになった位の認識ですね。ファイル転送は少し楽になりました。
ただ、ファイルを使わずにデータを受け渡す方法って、BLOB にまとめるくらいしか方法無いんですよね。

> ネットワークやマシンスペックなどにも影響するでしょうが、
> どの程度のファイルサイズまで転送できるのか、その目安が確認できるとうれしいですね。
File2Blb()、Blb2File() と ClientBlb2File()、ClientFile2Blb() の時に目安を聞いたことがありますが、
結局、マシンのメモリとかに左右されるのでなんとも言えないそうです。
V10 の頃には 3MB 程度でも途中で化けた状態で転送されていましたからね。

逆に新関数は数 10MB 程度であれば問題無く転送出来ることは確認しています。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-4-27 4:08
Jiro123  長老   投稿数: 271
Magic uniPaaS V1Plus 1.9g から、リッチクライアント用に、ServerFileToClient()とClientFileToServer()という2つの関数が追加されています。

これらの関数を利用することで、クライアント・マシンとサーバ・マシンの間に簡単にファイルを転送することができるそうです。

ヘルプのマスタリング Magic uniPaaS > リッチクライアント補足 > サーバとクライアントの間でファイル転送を行うには
に、解説が載っていますね。

私は、まだこれらの関数を試したことがないのですが、試された方いらっしゃいましたら、どんな感じか、感想などお聞かせ頂けると助かります。

ネットワークやマシンスペックなどにも影響するでしょうが、どの程度のファイルサイズまで転送できるのか、その目安が確認できるとうれしいですね。

投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2012-4-26 22:54
null  長老   投稿数: 191
何だか訳が判らん質問に回答ありがとうございます。
質問内容からは少し違いますがそういう方法もありますね。

私自身、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
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2012-4-25 17:18
pu_mahalo  長老 居住地: 大阪  投稿数: 775
こんにちは Puです

それだったら Magic返さず
直接ASP.NETのDATASETで良いんじゃぁないですか
WEBアプリなんで メニューからLINKでASP.NETのAPL呼べば
ライセンスの関係で ASP.NET とRIAの混在ってありかと思いますが

全然アドバイスになってなくて すみません
でわ〜でわ〜
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2012-4-25 13:41 | 最終変更
null  長老   投稿数: 191
少し漠然とした話なのですが、クライアントにデータを転送について
どのようにしているのかということが気になったので質問します。

RIA では定義した変数の値は必要に応じてサーバーとクライアントで同期が取られると思いますが、
もう少し多くのデータをテーブルのようにまとまった単位でクライアントに渡し、.NET 連携などを使用して
クライアント側でそのデータを参照し、クライアント側だけで処理する良い方法が無いかと思っています。

イメージとしてはメモリテーブルの実態がクライアントにある感じです。
メモリテーブルはサーバー側に実態があるのでデータの参照にはサーバーと通信が発生します。
そうではなく、ファイルを使わず、クライアントのメモリに展開して扱える仕組みは無いのでしょうか?

又、例えば .NET 連携で Dataset を定義するとして、そこに一度だけサーバーからデータを転送をしておき、
以降はそれを参照するような使い方が出来ないかと思っているのですが、それをやろうとしても
一度はサーバーからデータを転送して、Dataset に流し込む必要があります。
これを行う、簡単な方法が無いものでしょうか。

Magic の型から Dataset など .NET の型へ型をあまり意識せず変換出来る仕組みとか。
ベクトル型や BLOB 型にまとめて、.NET 側で展開する方法とか。
SQLite のモジュールをクライアントに配布して、クライアント側に DB 作ってますとかの無謀な案でも可。
「こんな方法があるよ」というのがありましたがお願いします。
投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約