問題タブ [breeze-sharp]
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.
c# - c#からそよ風のWeb APIへの変更を保存する
ブリーズ Web API を使用して、同じ SaveChanges(JObject saveBundle) アクションを使用して変更セットをサーバーに保存する ac# アプリケーションを作成したいと考えています。サーバーに送信される変更セットをシリアル化して表現するにはどうすればよいですか。私の主な質問は、breezejs が変更セットをサーバーに送信するときにどのように変更セットをシリアル化するかです。c# や JSON.NET などで同じことを行うことはできません
.net - BreezeSharp - 列挙型のシリアル化が失敗する
この質問はBreezeSharp の続編です - ExecuteQuery は NullReferenceExeption で失敗します
私のサーバー側エンティティには、enum プロパティがあります。
クライアント側エンティティのこのプロパティは、次のように定義されます。
コントローラ メソッドがクライアントにデータを返すと、シリアル化エラーが発生します: 「入力文字列は正しい形式ではありませんでした。」
スタックトレースは次のとおりです。
モデルから DataStore プロパティを除外すると、すべて正常に動作します。BreezeSharp が enum を int として解析しようとしているようです。
クライアント側のプロパティを文字列として定義しようとしましたが、InconsistentCLRPropertyDefinitionメタデータの不一致が発生します。また、次のようにクライアント側のプロパティを定義しようとしました:
public DataStore DataStore { get { var dataStore = this.GetValue("DataStore"); DataStore.DEV を返します。} 設定 { this.SetValue(値); しかし、get がヒットする前に問題が発生します。
JsonEntityConverter.cs を見たところ、この時点で列挙型が個別に処理されていないようです。
ここからどこに進むべきか、誰にも分かりますか?
c# - Breeze.Sharp - DataService の HttpClient 構築で UseDefaultCredentials を指定する機能が必要
0.5.4 チェックインの時点で、Breeze.Sharp/DataService.cs::InitializeHttpClient
メソッドはHttpClient
デフォルトのコンストラクターで を作成します。イントラネットの Breeze Web API サービスには .Net コンソール アプリケーションがあり、Windows 認証を使用してサービスによって認証される必要があります。pre-breeze ユニバースでは、コンストラクターでHttpClient
次のものを受け取るオブジェクトを作成HttpClientHandler
し、http 要求と共にユーザーの資格情報を送信します。
HttpClient
したがって、ここでの要求は、独自のものを に注入できるようにDataService
するか、または を構築するときにこの設定を指定できるようにすることEntityManager
です。
今のところ、次のようDataService
にオプションでHttpClientHandler
.
メイン ライブラリを引き続き使用したいので、この問題が追跡され、他のすべての人のために解決されることを願っています。:)
c# - Entity Framework Validation エラーが、breeze.sharp クライアントによって正しく処理されない
この問題は、Breeze.Sharp の 0.5.4 リリースに含まれています。Breeze.Sharp またはおそらく Breeze.ContextProvider.EF6 で修正する必要があるかどうかはわかりませんが、予想される動作の間に切断があるようです。
予期しない動作:
EF6 リポジトリを含む .Net Web API BreezeController があります。
BeforeSaveEntities オーバーライドを介してオブジェクト レベルの検証を実行すると、ガイダンスは EntityErrorsException をスローして検証に失敗することになりますが、Breeze.Sharp クライアントはこれを期待どおりにキャッチし、すべて問題ありません。
ただし、Entity Framework の ValidationAttribute クラスを使用して属性レベルの検証を実行すると、EntityErrorsException の代わりに、Breeze.Sharp クライアントに失敗が、Errors コレクションを含む SaveResult として返されます。この場合、クライアントは例外をスローします: Unable to cast object of type 'Newtonsoft.Json.Linq.JValue' to type 'Newtonsoft.Json.Linq.JArray' . この例外は、Breeze.Sharp が null である SaveResult の KeyMappings 配列を解析しようとしたときに発生します。
回避策:
今のところ、すべての検証属性を変更して EntityErrorsException をスローするのではなく、BreezeController の SaveChanges メソッドで、返された SaveResults にエラーがないかチェックし、見つかった場合はそれらのエラーを例外にラップしてクライアントにスローすることでこれを解決しました。 :
xamarin - DevForce は Xamarin をサポートしていますか?
Ideablade のフォーラムでこの投稿を見つけました。
この質問は興味深いと思いますが、Ideablade からの回答はありません。
Ideablade では、将来 PCL または Xamarin をサポートする DevForce の計画はありますか?
または、Xamarin で DevForce を既に使用できますか? サンプルはありますか?
breeze - クライアント側のエンティティはアンチパターンですか?
以前は RIA サービスを使用していましたが、現在 Breeze Sharp をテストしています。
RIA と Breeze は、サーバー/中間層で見られるものがクライアントで見られるものであるという印象を与えます。それをサポートするために、エンティティという用語がクライアントとサーバーの両方で使用されています。それは本当にエンティティですか、それともクライアント上のプレゼンテーション モデルまたはモデルですか?
1 つまたは 2 つのレベルのエンティティ グラフを持つ小規模なシステムの場合、クライアントとサーバーの両方が同じであると考えても問題はありません。グラフが 5 ~ 6 レベルに及ぶ大規模なシステムでは、エンティティを DTO に変換して単純化する必要があります。UI にエンティティ用の CRUD 画面がない限り、大規模なアプリケーションでは DTO が多くなり、エンティティが少なくなります。ほとんどの場合、これらの DTO は UI が必要とするものを表し、プレゼンテーション モデルと同等です。
クライアントで扱うものをエンティティではなくプレゼンテーション モデルと見なすことができないのはなぜですか?
breeze - BreezeSharp でアクセス トークンを取得する
BreezeSharp で EntityQuery を使用して、Breeze WebAPI からアクセス トークンを取得する必要があります
次のように、サーバーからjsonを逆シリアル化するためのTokenResponseModelというクラスがあります。
実行するコードは次のとおりです。
実行すると、エラーが発生します。サーバー上の「/トークン」メソッドには存在しないメタデータが必要です。
BreezeSharp で呼び出すにはどうすればよいですか。
RestSharp を使用すると、次のように実行できます。
そして、これはうまくいきます。ありがとう
詳細説明: 私が言いたいのは、JSON 形式だけで風サーバーから結果を取得する必要がある場合があるということです。クライアント上のオブジェクトにマップしたくありません。良い例は、Token メソッドを使用してユーザーを認証する私の場合です。JSONを自分で解析する方法を知っています。以下の呼び出しから簡単に結果を取得できるようにしたいだけです。
クライアントまたはサーバーで一致しないサーバーから匿名オブジェクトを返すことがあるため、これを実行できるようにしたいと考えています。メタデータを気にせずにこれを行うことができますか。または、メタデータのフェッチを抑制するにはどうすればよいですか。
ありがとうございました。
breeze - 異なるバージョンとの競合
Breeze Sharp クライアントをインストールしましたが、次の警告が表示されます。
同じ依存アセンブリの異なるバージョン間で競合が見つかりました。Visual Studio で、この警告をダブルクリック (または選択して Enter キーを押す) し、競合を修正します。それ以外の場合は、アプリケーション構成ファイルの「runtime」ノードに次のバインド リダイレクトを追加します。