这是我的解决方案的结构(为简洁起见,采用非常简化的格式):
Project.API
TestRequest.cs
TestResponse.cs
ITestService.cs
Project.Web
/App_Start
AppHost.cs
/Services
TestService.cs
/Views
Test.cshtml
_Layout.cshtml
Web.config
在哪里:
public interface ITestService
{
TestResponse Get(TestRequest request);
}
和
public class TestService : Service, ITestService
{
public TestResponse Get(TestRequest request)
{
return new TestResponse()
{
// ... set response properties ...
};
}
}
如果我用它进行装饰TestService
,[DefaultView("Test")]
那么一切正常,即导航到 URLlocalhost/test
会产生由Test.cshtml
.
但是,如果我[DefaultView("Test")]
从类中删除属性或将其移到Get()
方法中,我会得到我的请求/响应的快照,而不是视图的输出。
当 DTO 在不同的项目中定义时,ServiceStack 似乎无法根据响应 DTO 查找视图。还是我错过了什么?