ルート'/'にRestPathを設定しようとしていますが、設定できません。そのことわざRestPath '/' on Type 'MainTasks' is not Valid
これを許可する方法はありますか?ルートからリソースを提供したいのですが。
[Route("/", "GET")]
public class MainTasks : IReturn<MainTasksResponse>
{
}
ルート'/'にRestPathを設定しようとしていますが、設定できません。そのことわざRestPath '/' on Type 'MainTasks' is not Valid
これを許可する方法はありますか?ルートからリソースを提供したいのですが。
[Route("/", "GET")]
public class MainTasks : IReturn<MainTasksResponse>
{
}
/
ServiceStackのルートパスでFallbackRouteとのみ一致させることができます。例:
[FallbackRoute("/{Path*}")]
public class Fallback
{
public string Path { get; set; }
}
これは、ワイルドカードを使用して、一致しないすべてのルート(/ foo / barを含む)を処理します。1つのフォールバックルートのみが許可されます。
デフォルトのルートパスを処理する他の方法もいくつかあります/:
EndpointHostConfig.DefaultRedirectPath
、使用するサービスにリダイレクトしますdefault.cshtml
RazorまたはMarkdownViewまたはstatic default.htm
(HTMLリクエストの場合)を追加しますEndpointHostConfig.RawHttpHandlers
で最初に確認されるハンドラーです。IAppHost.CatchAllHandlers
要求に対して呼び出されます。これは私のために働いた。RawHttpHandlerを追加し、リクエストパスを書き直しました。チャンピオンのように働いた。(これは私のAppHostのConfigure関数にあります。)
var conf = new EndpointHostConfig();
{
DefaultRedirectPath = "/foo",
AllowFileExtensions = { { "eot" }, { "svg" }, { "ttf" }, { "woff" } },
};
conf.RawHttpHandlers.Add(r =>
{
if (r.RawUrl == "/")
{
HttpContext.Current.RewritePath(conf.DefaultRedirectPath);
}
return null;
});
this.SetConfig(conf);
私はこれを試みていましたが、Christopher Daviesメソッドが、セルフホストサービスの最新のサービススタックで機能しなくなっていることがわかりました。パラメータをとらない私のサービスの以下は機能しました。
[FallbackRoute( "/")]