2

プロジェクトで 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 とサービスは異なる名前空間にあることに注意してください。これは、サーバーとシック クライアントという 2 つのアプリケーションを同時に構築し、すべての DTO を、両方が依存する別のクラス ライブラリに配置したためです。このようにして、クライアントはそのクラス ライブラリだけを参照でき、他のサーバー側コードは参照できません。サーバー機能の一部に Web インターフェイスを提供するために Razor を使用しています。

とにかく、Echo サービスの簡単なビューも作成しました。

@using ServiceStack.Razor
@using ModelsWeb.Diagnostics

@inherits ViewPage<EchoResponse>

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

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

"http://localhost:62061/echo/hello2"ブラウザーに入力すると、ログに次のエラーが表示されます。

Cannot implicitly convert type 'ServiceStack.Razor.Compilation.RazorDynamicObject' 
to 'ModelsWeb.Diagnostics.EchoResponse'

ただし、テンプレートは引き続き機能し、ブラウザーに期待される結果が表示されます。何が起きてる ?私は何か間違っていますか?そうでない場合、どうすればこの例外を抑制することができますか?

4

0 に答える 0