C# Servicestack错误生成视图页
Im使用Servicestack 3.9.59和Servicestack.Razor作为独立控制台程序 我的请求/响应/服务如下所示:C# Servicestack错误生成视图页,c#,razor,
servicestack,razor-2,C#,Razor,
servicestack,Razor 2,Im使用Servicestack 3.9.59和Servicestack.Razor作为独立控制台程序 我的请求/响应/服务如下所示: namespace Info { [Route("/OverView")] public class OverViewRequest : IReturn<OverViewResponse> {} public class OverViewResponse { public string Name
namespace Info
{
[Route("/OverView")]
public class OverViewRequest : IReturn<OverViewResponse>
{}
public class OverViewResponse
{
public string Name { get; set; }
}
public class OverViewService : Service
{
public OverViewResponse Get(OverViewRequest request)
{
return new OverViewResponse() { Name = "test" };
}
}
}
@inherits ViewPage<OverViewResponse>
@Model.Name
我尽了最大努力去匹配Razorockstars上的例子
但是,当我运行该程序时,我在控制台上得到以下输出:
at ServiceStack.Razor.Managers.RazorViewManager.TrackPage(IVirtualFile file)
at ServiceStack.Common.Extensions.EnumerableExtensions.ForEach[
T
](IEnumerable`1 values,
Action`1 action)
at ServiceStack.Razor.RazorFormat.Init()
at ServiceStack.Razor.RazorFormat.Register(IAppHost appHost)
在我的浏览器中访问该页面只会显示ServiceStack页面生成的概览请求的快照。我认为您还需要添加
[DefaultView(“OverView”)]
。可以将其添加到您的服务上方或服务上的单个方法上方,例如:
[DefaultView("OverView")]
public class OverViewService : Service
{
public OverViewResponse Get(OverViewRequest request)
{
return new OverViewResponse() { Name = "test" };
}
}
或:
然后需要将
OverView.cshtml
文件添加到Views
文件夹中。有关更多信息,请参见此答案:我已经尝试过了,但它不会改变结果。这可能与_Layout.cshtml文件有关吗?我认为它的位置应该在Views文件夹中,对吗?是的,在Views文件夹中有_Layout.cshtml文件是正确的
at ServiceStack.Razor.Managers.RazorViewManager.TrackPage(IVirtualFile file)
at ServiceStack.Common.Extensions.EnumerableExtensions.ForEach[
T
](IEnumerable`1 values,
Action`1 action)
at ServiceStack.Razor.RazorFormat.Init()
at ServiceStack.Razor.RazorFormat.Register(IAppHost appHost)
[DefaultView("OverView")]
public class OverViewService : Service
{
public OverViewResponse Get(OverViewRequest request)
{
return new OverViewResponse() { Name = "test" };
}
}
public class OverViewService : Service
{
[DefaultView("OverView")]
public OverViewResponse Get(OverViewRequest request)
{
return new OverViewResponse() { Name = "test" };
}
}