servicestack,Razor,Binding,servicestack" /> servicestack,Razor,Binding,servicestack" />

Razor 查看页面生成RuntimeBinderException,但仍然有效

Razor 查看页面生成RuntimeBinderException,但仍然有效,razor,binding,servicestack,Razor,Binding,servicestack,我正在尝试在我的项目中使用ServiceStack Razor。我设置了一个非常简单的DTO: namespace ModelsWeb.Diagnostics { [Route("/echo")] [Route("/echo/{Text}")] public class Echo { public string Text { get; set; } } public class EchoResponse

我正在尝试在我的项目中使用ServiceStack Razor。我设置了一个非常简单的DTO:

namespace ModelsWeb.Diagnostics
{       
   [Route("/echo")]
   [Route("/echo/{Text}")]
   public class Echo
   {
      public string Text { get; set; }          
   }

   public class EchoResponse 
   {
      public ResponseStatus ResponseStatus { get; set; }
      public string Result { get; set; }
   }
}
以及与之配套的服务:

namespace Rest.Services
{
   public class EchoService : Service
   {
      public object Any(Echo request)
      {
         return new EchoResponse {Result = request.Text};
      }
   }
} 
请注意,DTO和服务位于不同的名称空间中。这是因为我同时构建了两个应用程序——服务器和厚客户端——我将所有DTO放在它们都依赖的单独类库中。这样,客户机就可以只引用该类库,而不引用其他服务器端代码。我正在使用Razor为一些服务器功能提供Web界面

无论如何,我还为我的Echo服务编写了一个简单的视图:

@using ServiceStack.Razor
@using ModelsWeb.Diagnostics

@inherits ViewPage<EchoResponse>

@{
    ViewBag.Title = "Echo Response";
    Layout = "BasePage";
}

<h1>You typed: @Model.Result</h1>

但是,模板仍然有效,我在浏览器中看到了预期的结果。这是怎么回事?我做错什么了吗?如果没有,我如何抑制此异常?

Hm这不是与此处相同的问题:@Giedrius:这是可能的,但是,我的视图仍然正确呈现;如果我访问,例如,“/echo/hello”,我会看到字符串“youtyped:hello”。我认为与此相关的问题并非如此。
Cannot implicitly convert type 'ServiceStack.Razor.Compilation.RazorDynamicObject' 
to 'ModelsWeb.Diagnostics.EchoResponse'