私は2つのASP.NETコアWebアプリケーション(物理サーバーが異なる)を使用していますが、どちらもEFコアを使用しています。両方とも「サーバ」であるが、一方は他方からデータを収集する(すなわち、一方も「クライアント」である)。2つのASP.NETコアサーバーアプリケーション間で通信するにはどうすればよいですか?
「MVC」と「WebAPI」が存在しないため、ASP.NETコアは異なります。両方が結合されています。私はどのような新しいAPIを使うべきか分かりません。
どのようにデータを転送する必要がありますか?
私の最初の考えは、「クライアント」アプリケーションがデータを返す認証され、許可されたGETアクションを持っていることです。しかしどうですか? EFエンティティを直接返すことはできますか、またはJSONとのシリアル化を担当していますか?それはIActionResult
または何か他のものを返すべきですか?それは定期的なものかAJAXリクエストか? OWINはこれに関係していますか?
現在、ASP.NETコアで使用できるスマートなテクニックはありますか?私は解決策は必要ありません。正しい方向のポインタが必要です。
クライアントの観点から見ると、サーバーが「コア」か「Web API」かその他の技術であるかどうかは違いありません。結果として得られる外部振る舞いは、フードの下でどのフレームワークが使用されているかにかかわらず同じです。以前のバージョンのWeb APIとまったく同じように、データを返すアクション(JSONフォーマットの可能性はありますが、任意のフォーマットを使用できます)があると思います。 – David
@David確かに、コアは新しくて光沢があり、このすべてを簡単にするためのクールなものがあるかもしれないという疑いがあります。たとえば、以前には実行できなかったすべての種類のデータをアクションから戻すことができます。私は基本的にホイールを再発明したくありません。 – grokky
Web APIの以前のバージョンでは、「EFエンティティを返す」場合、そのメソッドからそのオブジェクトを単に返すだけでした。私はそれがどのようにそれより簡単になったのか分かりません。 C#では、あるメソッドから何かを返すときは、それを 'return 'します。どのように新しいものであるかにかかわらず、フレームワークはまだC#を使用しています。多分あなたは単純化しようとしているものの例を明確にすることができますか? – David