私のSSサービスをMVCアプリケーションのコントローラから呼び出せるようにする必要があります。理想的には、httpリクエストなどをビルドするオーバーヘッドを避けるため、プロセス中に呼び出すことができます。Validation&FiltersでIn-processでServiceStackサービスを呼び出すときの問題
ドキュメントを精査することで、2つの方法が提案されていますが、完全には機能しません。
1)ServiceGateway - サービスゲートウェイを使用します。これは検証フィルタを呼び出しますが、追加した他の顧客フィルタは呼び出されません。 applyFiltersオプションはありません。
2)HostContext.ServiceController.Execute - このメソッドにはapplyFiltersという専用のオプションがあり、trueに設定するとフィルタと検証が適用されます(ただし、TypedRequestFiltersではなくGlobalFiltersのみ実行されます)。しかし、サービスで[CacheResponse]属性が設定されている場合、クライアントに応答を上書きして、MVCコントローラのフローをオーバーライドするので、これを停止する方法はわかりません。 applyFiltersをfalseに設定した場合、またはCacheResponseをオフにした場合、これは実行されません。キャッシュの優先度を変更しても効果はありません。
私のコントローラのアクションメソッド内から、次のように私は、Executeメソッドを呼び出しています:
HostContext.ServiceController.Execute(serviceRequest, HostContext.GetCurrentRequest(), true);
このメソッドの前にしてもリターンが応答がChromeでWebページにフラッシュしてから何も/ nullがあるさ制御メソッドから返されます。
ポイント1)機能不足とポイント2)実装上の不具合があると感じますが、いずれかの救済のためのSSの知識には十分な自信がありません!助けてください!
ありがとうございました。