問題タブ [domainservices]

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.

0 投票する
1 に答える
1108 参照

silverlight - Silveright - AuthenticationService を拡張してカスタム認証を提供する

私のモデルがテンプレートで提供されているものに完全に適合していないため、Silverlight 4 ビジネス テンプレートで提供されている認証システムに追加しようとしています。認証を実行し、ロールを提供し、各ロールに許可された操作も行う既存の Web サービスがあります。これは、AzMan/Authentication Manager によって提供されるモデルです。

ただし、単一のロールを取得するだけでなく、認証後にユーザーに使用可能なロールのリストを提供し、ユーザーがこれらのロールのいずれかを選択して、選択したロールの操作/アクションのリストを取得できるようにします。

私が抱えている問題は、認証サービスに新しいメソッドを追加して、現在のユーザーの操作と現在選択されているロールを取得してログインプロセスを完了する方法がわからないことです。

上記のメソッドは、WebContextBase.Current.Authentication を使用して LoginForm.xaml.cs からアクセスできません... Login などのメソッドのみが表示され、authenticationbase でこれらのメソッドが表示されないため、さらに不可解です。私は完全に混乱しています。認証サービスに新しいメソッドを追加する方法、新しいドメイン サービスを作成する方法、または azman サービスにアクセスして Silverlight クライアントから直接操作を取得する方法を教えてください。

0 投票する
2 に答える
2636 参照

silverlight - Silverlight - 新しいドメイン サービスを作成しましたが、クライアントからアクセスするにはどうすればよいですか?

SL ビジネス アプリケーション テンプレートを使用し、ソリューションの .Web 部分の [サービス] フォルダーに新しい空のドメイン サービスを追加しました。クラスは DomainService1 で、DomainService を継承しています。1 つのメソッドが含まれています。

クライアントからこのサービス メソッドにアクセスするにはどうすればよいですか? クライアント側でドメインサービスのインスタンスを作成できないようです.....

0 投票する
1 に答える
2367 参照

entity-framework - EF およびドメイン サービスのストアド プロシージャの ObjectSet および ResultSet

EF 4 では、エンティティごとに既定の ObjectSet を使用できます。たとえば、テーブル Employee があり、エンティティ モデルを生成した後、EF は Employee に ObjectSet を作成します。次に、wcf ria サービスを使用する場合、デフォルトのクエリは次のようになります。

public IQueryable GetEmployee() { return this.ObjectContext.Employees; }

objectSet を使用すると、次のように結果に include を適用できます。

次に、MySearchForEmployee というストアド プロシージャを作成し、それを関数としてインポートします。結果はエンティティ Employee にマップされます。関数を呼び出すと、結果は ObjectSet ではなく ResultSet になります。

次のようなストアドプロシージャを呼び出して、ドメインサービスで同様のメソッドを利用できるようにしたい:

しかし、上記のコードイベントは構文チェックに合格できないため、できません。

結果の型を変換するために次の方法を試しました:

次に、次のようなエラーが発生しました: タイプ 'System.Data.Objects.ObjectResult' を 'System.Data.Objects.ObjectSet' に変換できません

このリクエストを実装するには?

0 投票する
3 に答える
9926 参照

entity-framework - エラー: クエリの結果を複数回列挙することはできません

次のコードで EF 4.0 の SP を呼び出します。

For ループで発生した次のエラー:

「クエリの結果を複数回列挙することはできません。」} System.SystemException {System.InvalidOperationException}

しばらくはうまくいっているようです。理由がわかりません。

0 投票する
2 に答える
12022 参照

.net - System.ServiceModel.DomainServices.EntityFramework DLL はどこにありますか?

RIA サービスを使用しようとしています。Silverlight 4 と Silverlight 4 Tools/SDK をインストールしましたが、名前空間/アセンブリ System.ServiceModel.DomainServices.EntityFramework が見つからないため、LINQToEntitiesDomainService をセットアップできません。このアセンブリはどこから来たのですか?なぜ見つからないのですか? それは私が見逃しているアドオンですか?

ありがとう。

0 投票する
1 に答える
349 参照

.net - サブクラス化されたエンティティの EF4 Eager Loading が機能しない

EF4 モデルに、具象サブクラス MultipleChoiceItem を持つ抽象 Content エンティティがあります。MultipleChoiceItem の場合、Options と呼ばれる MultipleChoiceItem エンティティの Navigation プロパティによってアクセスされる関連テーブルがあります。MultipleChoiceItem を取得している場合は、常に Options が必要になるため、Options の結果をeager-loadしたいと思います。しかし、私はこれを機能させることができないようです。これが私が基本的にやったことです:

  • MultipleChoiceItem はサブクラスであるため、デフォルトで作成されたメタデータを取得しませんでした。そこで、次のようなメタデータ クラスを作成しました。

    /li>
  • 次に、ContentService に次のような新しいクエリを作成しました。

    /li>

単体テストでは、次のように呼び出しています。

CompletedHandler に入ると、次のコードでは Options プロパティが読み込まれていないように見えます。実際には、Options.Count == 4 である必要があるのに 0 になっています (基になるデータ ストアをチェックして確認)。

誰が私が間違っているのか教えてもらえますか? 投稿されたモデルをフォローしようとしましたが、明らかに何かが欠けています...

ありがとう!

0 投票する
1 に答える
3157 参照

silverlight - DomainContext ロード

次のようなコード行で domainservice(async) によってエンティティをロードしようとしました:

しかし、次のエラーが発生しました: 型 'SilverlightApplication1.Book' は、ジェネリック型またはメソッド 'System.ServiceModel.DomainServices.Client.DomainContext.Load(System.ServiceModel.DomainServices.Client.EntityQuery') で型パラメーター 'TEntity' として使用できません、System.Action>、オブジェクト)」。「SilverlightApplication1.Book」から「System.ServiceModel.DomainServices.Client.Entit」への暗黙的な参照変換はありません。

それを修正する方法は?

0 投票する
1 に答える
669 参照

silverlight-3.0 - Ria DomainService Invoke メソッドを介して関連付けられたメンバーを返す

Invoke 属性を使用して、SL ViewModel から呼び出しているこの DomainService メソッドを取得しました。

私の ViewModel のコードは次のようになります。

Recipy および Author POCO/ServiceModel クラス:

これで、関連付けられた Author がクライアント/ビューモデルに転送されず、Recipy の Author プロパティが null であることを除いて、コードは正常に動作します。[Associate] 属性と [Include] 属性を使用するとうまくいくと思いましたか?

助けてくれてありがとう、私は DomainService/RIA のものを理解しようと懸命に努力しています。私はあきらめて、代わりに「通常の」WCF/REST に行きます :)

0 投票する
1 に答える
1232 参照

c# - Silverlight4DomainService-EntitiesInError-EntityConflict-PropertyNamesはInvalidOperationExceptionをスローします

Silverlight 4 RIAの新しいDomainServiceの入門チュートリアルに続いて、予期しない例外が発生しました。更新を実行すると、プロパティEntitiesInError[index].EntityConflict.PropertyNamesは次の例外をスローします。

InvalidOperationException:PropertyNamesは削除の競合には使用できません。

実行されたサービスメソッド:

このスレッドの回答から、カスタムサービスオブジェクト(DataContractおよび)でSilverlight対応サービスを使用しDataMember、これらのカスタムサービスオブジェクトの値を実際のサーバーオブジェクト(DBモデルから生成されたLinq SQLまたはエンティティデータモデル)、およびSubmitChanges()DataContextを手動で呼び出します。

0 投票する
1 に答える
764 参照

.net - LINQtoEntitiesドメインサービス

LinqToEntitiesDomainService<FOOEntities>から派生したドメインサービスがあります

IQueryable <Bar> GetBar()という1つのメソッドがあります。GetBarは、エンティティモデルに対するLINQクエリを返します。LINQはLINQPadで正常に動作します。

SilverlightのXAMLには、ItemsSourceがdsGetBarという名前の同じXAMLファイルで定義されたDomainDataSourceを指すListBoxがあります。dsGetBarのAutoLoad="True"。dsGetBarのLoadedDataイベント用の空のハンドラーがあります。

私はこれをVS2010で実行します。WebDev.WebServerプロセスとブラウザーインスタンスの両方に接続してページをロードすると、GetBar()とLoadedDataハンドラーでブレークポイントに到達します。このことから、私は楽観的にサービスがクライアントによって呼び出されていると推測します。

GetBar()で、queryresults.Countを呼び出します。これは24,000を返し、変更します。私のメソッドは、例外をスローせずに正常に戻ります。

だからここに問題があります:

LoadedDataでは、dsGetBar.Data.Count==0です。リストボックスにアイテムが表示されることはありません。ListBoxアイテムテンプレートが壊れた場合は、代わりにDataGridで試してみました。同じ取引。

データはデータがあるべき場所にありますか?そうでない場合、どこですか?ItemsSourceは、アイテムのソースをコントロールに提供するときに使用する正しいプロパティですか?

サービスとクライアントの間で何が起こっているかを知るための既知の方法はありますか?

アップデート

クエリメソッドが正常に完了した後、サービスは504( "ReadResponse()が失敗しました:サーバーはこの要求に対する応答を返しませんでした。")を返します。

アップデート

レコード数が65,535を超えたため、504が発生しました。LINQのwhere句を通過したのはわずか24,000奇数(where句なしでは74,000)であるため、これはワイヤを通過できるものの制限でさえありません。ばかげている。その数は微視的です。

私たちが学んだことは、EntityFrameworkはまだソフトウェアで使用する準備ができていないということだと思います。

アップデート

...または、XAMLで多数のレコードを表示する必要がある場合は、ポケットベルを使用する必要があります。