問題タブ [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 - DomainDataSource-クライアントでのフィルタリング
クライアントでDomainDataSource(DDS)をフィルタリングするための最良の方法は何ですか?
私のDDSはWCFRiaサービスに接続し、いくつかのアイテムをダウンロードします。この情報の一部をさまざまなコントロールに表示したいと思います。たとえば、さまざまな値でフィルタリングされたDDSからのアイテムを表示するいくつかのItemsControls。サーバー上のコントロールとフィルターごとに新しいDDSを作成できることはわかっていますが、1回だけ実行したいと思います。
iValueConverterを使用してフィルタリングを実行してみました。例えば
これは、コントロールが最初にデータバインドされたときに正常に機能しますが、DDSがデータをリロードしたときに更新されません。コンバーターを削除すると、ItemsControlsは期待どおりに更新されますが、明らかにフィルタリングが取得されません。
DDSが更新されるたびに、コードでフィルタリングとバインドを手動で行うこともできますが、これが最善のアプローチかどうかはわかりません。
助言がありますか?
silverlight - Silverlight Toolkit DataForm の DataFields の DescriptionViewer 部分からスペースを再利用する
DataFieldのDescriptionViewer部分は、System.ComponentModel のDescriptionプロパティを表示するために使用されます。生成されたフォームのツールヒントとしてのDisplayAttribute 。この機能は使用したくありません。スタイルを使用してDescriptionViewerVisibilityをCollapsedに設定するか、 DescriptionViewerStyleを null に設定することで (以下に示すように)、UI 要素が表示されないようにすることはできますが、まだスペースが確保されています。この要素の DataField レイアウト。
このスペースは私のシナリオでは無駄なので、取り除きたいです。このレイアウトがDataField.Templateプロパティによって公開されることを期待しますが、Blend を使用してデフォルト テンプレートのコピーを編集すると、レイアウトが表示されません。
System.Windows.Controls.Data を使用しています。WCF RIA Services Beta Business Application Silverlight 3 プロジェクト内の Silverlight Toolkit の2009 年 10 月リリースのDataForm.Toolkit、Version=2.0.5.0 。Visual Studio 2008 SP1 を使用しています。2009 年 11 月のリリースがあることは知っていますが、リリース ノートでこの変更について言及されていません。
linq - Linq Containsfunction の問題
データ クエリには Ria Service domainservice を使用します。
私のデータベースには、ファーストネーム、ラストネームを持つテーブル People があります。次に、データ処理に EF/RIA サービスを使用します。
次に、フィルター ビューモデルを作成してユーザー入力をキャプチャし、その入力に基づいて、データにアクセスするための linq クエリを作成します。
サーバー側では、person のデフォルトの DomainService クエリは次のとおりです。
クライアント側では、フィルターのlinqクエリは次のようになります(ここではContains関数を使用しています):
生成されたlinqクエリは次のようなものです(デバッグ時に取得しました):
アプリを実行すると、検索の姓に「Smith」を入力しましたが、結果は「Smith」とはまったく関係ありません!
修正方法は?
silverlight - Silverlightから直接EntityFrameworkを使用できますか?
Silverlightでのデータアクセスの例はすべて、RIAサービスを使用してバックエンドからエンティティを取得しているようです。Silverlightから直接EntityFrameworkを使用することは可能ですか、それとも不可能であるため、代わりにRIAサービスを使用する必要がありますか?
SQLAzureデータベースに対してSilverlightから直接EntityFrameworkを使用する方が、RIAサービスの追加レイヤーを経由するよりもはるかに効率的で柔軟なデータ処理方法であるように思われます。ここで何が欠けていますか?
c# - RIA サービスを使用してエンティティ プロパティにセキュリティを追加できますか?
RIA サービスでは、RequiresRole("Admin") のようなドメイン サービス メソッドに属性を追加できます。これにより、そのメソッドを呼び出すユーザーが適切なセキュリティを持っているかどうかが自動的にチェックされます。エンティティのプロパティに対して同様のことをしたいと思います。たとえば、ロール「マネージャ」のユーザーのみが「レート」プロパティを変更できますが、「コメント」プロパティはすべてのユーザーが変更できます。これは可能ですか?
wcf - WCF RIA サービスの展開の問題
非常に単純な Silverlight アプリケーションのサンプルがあります。1 つのエンティティを持つエンティティ モデルを使用して、それにドメイン サービスを追加しました。クライアント アプリは、起動時にエンティティ内のすべての行をロードするだけです。これを開発ボックスで実行すると、期待どおりに動作します。ただし、テスト サーバーに移動すると、呼び出しているメソッドが見つからないという例外が発生します (クエリ 'GetCTCStation' の読み込み操作が失敗しました。リモート サーバーがエラーを返しました。NotFound.)。クライアントとサーバーの通信を Fiddler で詳しく調べたところ、リクエストがhttp://[server url]/ClientBin/SilverlightApplication7-Client-Web-CTCService.svc/binaryに送信されていることがわかりました。. ドメイン サービスを Web プロジェクトのルートに追加したので、クライアントが ClientBin ディレクトリでドメイン サービスを探している理由がわかりません。明らかにそこにはありません。ここで何が間違っていますか?RIA の 7 月のプレビュー バージョンで問題が発生したことはありません。
これは相対的ですが、Generated_Code ファイルで自動的に処理されます。そして、設定する webconfig には何もありません。ドメイン サービスを作成するときは、既定の設定を使用しました。サービスをインスタンス化するときに uri を明示的に設定しようとしましたが、同じ例外が発生しました。
linq - riaサービスに基づく合計計算の書き方は?
SL アプリで ria サービスを使用する場合、次の非同期呼び出しを発行して、エンティティ リストのグループを取得できます。
しかし、sum(Commission)、sum(Salary) などの計算を取得したいのですが、結果はエンティティではなく、単なるスカラー値です。これどうやってするの?
linq - ria サービスに基づいてフィルターの動的 linq クエリを作成する方法は?
テーブル Person(PersonID, Name, ....) があるとします。次に、EF を使用してエンティティ モデルを作成し、Ria サービスに基づいて DomainService を作成します。クライアント側 (sliverlight) で、フィルター関数の動的 linq を作成しようとしました。私がしたことは次のとおりです。
それは結構です。次に、電話用に別の 2 つのテーブルがあります。
次に、PhoneNumber に一致するフィルターを追加します。linq クエリ q のような書き方は?
コンパイルを渡すことはできますが、アプリを実行するとエラーが発生しました: クエリ演算子 'Count' はサポートされていません
この問題を解決するにはどうすればよいですか?
silverlight - Silverlight、RIA サービス、MVC2P2 = データなし
RIA サービスを使用するために現在のプロジェクトをアップグレードするのに問題があります。必要なすべての web.config 変更を追加しましたが、まだ運がありません。すべてが正常にコンパイルされますが、データコンテキストを使用してページにアクセスするとエラーが発生します。フィドラーでデバッグしたところ、リクエストの 1 つで 404 が返されました。グリッドでヘッダーを取得しているため、通信は行われていますが、実際にはデータが送信されていません。注意すべきもう 1 つのことは、私の MVC が Windows 認証を実行していることです。clientaccesspolicy.xml もあります。
ヘッダーはあるがデータがない Silverlight でエラーが発生しました。
フィドラーからの応答:
[HttpException]: パス '/Services/EpicWeb-Services-LegacyDomainService.svc/binary' のコントローラーが見つからないか、IController を実装していません。System.Web.Mvc.DefaultControllerFactory.GetControllerInstance (RequestContext requestContext、タイプ controllerType) で
System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext、String controllerName) で System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) で System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) で System.Web. Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() で System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、Boolean& completedSynchronously)