複数の EF モデルに対して複数の Api コントローラーを使用するソリューションで、Breeze.js のサーバー側コンポーネントを使用しようとした人はいますか?
1 つのコンテキストで MetaData エンドポイントを呼び出した後、他のコンテキストで MetaData エンドポイントを呼び出すと、最初に呼び出されたコンテキストから MetaData が返されることがわかりました。たとえば、2 つの Api コントローラーがあり、それぞれに独自の MetaData エンドポイントがあるとします。
public class CoreController : ApiController
{
readonly EFContextProvider<CoreEntities> contextProvider = new EFContextProvider<CoreEntities>();
}
public class FormsController : ApiController
{
readonly EFContextProvider<FormsEntities> contextProvider = new EFContextProvider<FormsEntities>();
}
~/Core/MetaData を呼び出すと Core モデルの JSON が返されますが、その後 ~/Forms/MetaData を呼び出すと Forms JSON は返されず、代わりに Core メタデータが返されます。それらを逆に呼び出すと、フォームのメタデータが両方とも取得されます。この問題は、ホスト プロセスがリサイクルされるまで続くようです。
期待どおりに両方のモデルからオブジェクト データにアクセスできることを確認できたので、これがルーティングの問題であるとは思えません。
無効にする必要があるキャッシュがどこかで実行されているかどうか、誰かが教えてくれるでしょうか?
よろしく、
トム・トレジェンナ