問題タブ [wcf-ria-services]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
silverlight-3.0 - Riaサービス-SubmitChanges()の問題。一度に1つの変更に制限することは可能ですか?
エンティティのコレクションを一度に1つずつ送信したいと思います。
これには2つの理由があります。-大量のデータをアップロードしていて、複数の変更を送信すると、これらの転送のhttp制限を超えます。(この制限を変更したくない)-提出される各アイテムの進捗状況を確認したい。
例:アルバムがあり、各アルバムに写真(エンティティ)のコレクションがあるとします。ユーザーが写真を追加する場合は、チャンク全体ではなく、一度に1枚の写真をアップロードしたいと思います。
silverlight - .Net Ria Servicesを使用して、同じキー( "Id")を持つオブジェクトと関連付けるにはどうすればよいですか?
2つのクラスがあり、主キーのプロパティに「Id」という名前を付ける必要があるとします(例:BookとPublisher)。要件は、私が会社のコードで生成されたオブジェクトを使用していて、それらの生成方法を変更できないためです。これらのクラスには、外部キーがあります。Bookto Publisherであり、1対1の関係です。この場合、各Bookには1つのPublisherしかありません。
Book.Publisherを.NetRIAサービスのプロパティとして使用するには、属性を追加する必要があります。たとえば、Bookクラスのメタデータでは次のようになります。
[Key] public int Id; ...[含める]
[Association( "Book_Publisher"、 "Id"、 "Id"、IsForeignKey = true)]
public Publisher Publisher;
パブリッシャークラスのメタデータ:
[Key]
public int Id;
..。
クライアントコードで、パブリッシャーを取得しようとしています。パブリッシャーbooksPublisher = Book.Publisher; しかし、私は間違った発行元(またはnull)を取得します。データベースを見た後、それが探している出版社IDは、出版社ではなく、本のIDです。
メタデータにエイリアスを追加できますか?RIAサービスの新しいバージョンはこれを処理しますか?
ありがとうございました。
.net - Silverlight .NET RIA プロジェクトの構造
新しい Silverlight 3 RIA アプリケーションを開始しています。歴史的に、Web 開発を行うとき、次のプロジェクト構造のソリューションがあります。
Silverlight RIA の新しいプロジェクトでは、既定で Silverlight クライアントと Web プロジェクトが作成されます。Silverlight プロジェクトは Web プロジェクトにマップされ、Web はサービスとモデルにマップされるようです。これは、人々が通常 Silverlight RIA プロジェクトをセットアップする方法ですか、それともどのように行うのですか?
silverlight-3.0 - Silverlight 3 DataGrid および .Net RIA サービスを使用した DomainDataSource DataPager
Silverlight 3 を使用した単純なデータグリッドの例があり、DomainDataSource と DataPager を宣言的に使用して (コード ビハインドには何もない) .NET ria サービスを使用しており、この問題が発生しています:
LoadSize が 30、Page size が 15 で、ページを読み込むと 1 ページ目と 2 ページ目は正しく表示されますが、2 ページ目を超えるとグリッドに何も表示されません。
これは、.NET Ria サービスの Mix 2009 プレビューを含む Silverlight 3 ベータ版で機能していました。非常に単純な例を入手し、Service on the Web プロジェクトが呼び出されて新しいバッチをロードすることを確認しましたが、グリッドはデータは表示されません。
グリッドがデータの初期ロードのみを表示し、ページャーからの後続のバッチを表示しない理由について、誰かが光を当てることができますか?
これが私のxamlです:
wcf - Silverlight アプリケーションから従来のビジネス ロジックを使用する方法は?
3 層アプリケーションとして設計された XBap システムがあります。XBap クライアントは、netTcpBinding を使用して WCF サービスを介してロジックを使用します。
データ バインドを簡単にし、ビジネス オブジェクトに組み込まれたデータ検証を再利用できるようにするために、プロキシを生成する代わりに、xBap クライアントからビジネス オブジェクト ライブラリを参照することにしました。
これらのオブジェクトは、基本的なデータ検証を所有する以外のロジックを実装していません。実際のビジネス ロジックは、私の WCF サービス内に実装されています。
今、私は大きな課題に直面しています。xBap を Silverlight に移植する必要があるため、Silverlight アプリが必要です。同じビジネス ロジックを使用します (winforms LOB アプリケーションでも使用されます)。
発生するいくつかの問題:
1) Silverlight クライアント アプリケーションからビジネス オブジェクト ライブラリを参照できません。これは、Silverlight ではなく通常の DLL としてコンパイルされているためです。
2) Silverlight ライブラリとしてコンパイルすることはできません。多くの機能が失われ、明らかに良い考えではないからです。将来、新しい .net プラットフォームが登場した場合、変更された (silverlight) dll が機能するという保証はありません。
RIAServices を発見したとき、私には希望がありました。サービスを実装し、あらゆる種類の DAL を使用できる場所を読みました。(私はカスタムのものを持っています) しかし、既存のビジネス層の上に RIAServices を配置する方法を示す例は見つかりませんでした。私たちは LINQ を使用していません (また、使用する予定もありません)。私が見つけたすべての例は、RIAServices を使用し、LINQ を使用してゼロからビジネス ロジックを作成することから始まりました。
RIAServices はデータバインディング対応のクライアント コードを生成しますが、ビジネス レイヤー全体を変更する必要があり、非常にコストがかかると感じています。
そのため、解決策は、WCF を使用し続けることです。特に、Silverlight 3.0 が新しいバイナリ バインディングをサポートするようになったため、実際のビジネス オブジェクトの代わりにプロキシを使用します。問題は、これらのプロキシには、私のビジネス クラスが実行する 3 つの側面であるデータ検証、プロパティ変更通知、および変更追跡が含まれていないことです。
RIAServices はこれらの側面やその他の側面を解決しますが、Silverlight プロジェクトを操作する必要があります。WCF (SVCUtil.exe) はプロキシを生成しますが、私たちのニーズに対して「完全」ではありません。そのため、ビジネス オブジェクトを入力として受け取るプロキシを生成するための独自のユーティリティを開発する必要があるようです。
そうする前に、誰かがすでにこの問題に直面しており、便利で痛みのない方法で解決できたかどうかを知りたい.
前もって感謝します、
ゴンザロ
unit-testing - 単体テスト: M を抽象化して、RIA サービスを使用するときに MVVM で VM をテストするにはどうすればよいですか
わかりました、私は今、良心の危機に瀕しています。
適切な単体テストを実行できるように、Silverlight アプリケーションから RIA サービスを抽出しようとしてもうまくいきません。
この時点で、ビューとビュー モデルがあり、DomainContext がモデルです。どれだけ試しても、DomainContext またはエンティティを抽象化してテスト データに置き換えることができませんでした。
RIA サービスに依存するビュー モデルを単体テストするために推奨される戦略は何ですか?
silverlight - Entity Framework でサポートされているドメイン サービスにエンティティを追加する
RIA サービス (2009 年 7 月プレビュー) を使用して、既存の EF モデルの一部を公開することを調査しています。ドメイン サービス クラスを Web アプリケーションに追加し、使用する EF モデルを指定して、ドメイン サービス経由で利用できるようにするエンティティをいくつか選択しました (一部は編集可能で、ほとんどは編集可能ではありません)。
ビルドしてすべてがうまくいきましたが、ドメイン サービスにエンティティを追加したい場合はどうすればよいでしょうか。現在のクラスを削除して再度追加すると、RIA サービスが RTM にヒットしたときにこの穴がふさがれるのでしょうか?