以下は、ソリューション/プロジェクトの潜在的な設定です。単純で不完全ですが、1つの可能な設定を説明するのに役立つと思います。また、MVCとServiceStackはこれを別々に処理するため、セッション情報と認証をどのように処理するかを検討する必要があります。CustomAuthenticationMVCを参照してください
ServerA.sln(ASP.NET Webアプリケーション)
- ServiceModelプロジェクト-リクエストオブジェクトとdtosを保持します(これはServerAソリューションとServerBソリューション間で共有できます)
- ServiceInterfaceプロジェクト-サービスの実装があります
- Global.asx-ServiceStackを構成するためのApplication_Startメソッドがあります
ServerB.sln(MV4アプリケーション)
- ServiceModelプロジェクト(共有)
- ビュー
- モデル
- コントローラー
ServiceModelプロジェクトのクラスの例:
[Route("/Foos")]
public class Foos : IReturn<FoosResponse>
{}
public class FoosResponse
{
public FoosResponse()
{
this.ResponseStatus = new ResponseStatus();
}
public ResponseStatus ResponseStatus {get; set;}
}
ServiceInterfaceプロジェクトのクラスの例
public class FoosService : Service
{
public FoosResponse Get(Foos request)
{
return new FoosReponse();
}
}
MVC4アプリケーション内でServiceStackAPIを呼び出す方法の例
public class FoosController
{
public ActionResult Index()
{
var client = new JsonServiceClient("http://servera:807");
var response = client.Get(new Foos());
return View(response);
}
}