2

私はサービススタックのサンプルプロジェクトをチェックしています セルフホステッドサービスをデバッグすることは可能ですか?

namespace StarterTemplates.Common
{
    /// <summary>
    /// Define your ServiceStack web service request (i.e. the Request DTO).
    /// </summary>  
    [Description("ServiceStack's Hello World web service.")]
    [Route("/hello")]
    [Route("/hello/{Name*}")]
    public class Hello
    {       
        public string Name { get; set; }
    }

    /// <summary>
    /// Define your ServiceStack web service response (i.e. Response DTO).
    /// </summary>
    public class HelloResponse : IHasResponseStatus
    {       
        public string Result { get; set; }      
        public ResponseStatus ResponseStatus { get; set; }
    }

    /// <summary>
    /// Create your ServiceStack web service implementation.
    /// </summary>
    public class HelloService : ServiceBase<Hello>
    {
        protected override object Run(Hello request)
        {
            return new HelloResponse { Result = "Hello, " + request.Name };
        }
    }
}

ポート 32 で実行されます。フィドラーからhttp://localhost:32/servicestack/xml/syncreply/Hello?Name=Worldですが、常に 404 エラーが発生します。何か案は ?

他の自己ホストされていない例は、魅力的に実行されます。

何か案が

4

1 に答える 1

3

セルフホステッド サービスは でホストされていません/custompath。代わりに試してください:

http://localhost:32/xml/syncreply/Hello?Name=World

サービスを作成するための推奨される方法はServiceStack の New APIを使用することであるため、サンプル プロジェクトは時代遅れに見えます。

public class HelloService : Service
{
    public object Any(Hello request)
    {
        return new HelloResponse { Result = "Hello, " + request.Name };
    }
}

短い方で同じサービスにアクセスできる新しいルーティング オプションもあります。

http://localhost:32/xml/reply/Hello?Name=World

また、カスタム ルートが定義されている場合は、さまざまな方法でコンテンツ ネゴシエーションを要求できます。たとえば、次のようになります。

http://localhost:32/hello?Name=World&format=xml
http://localhost:32/hello.xml?Name=World
于 2013-07-03T20:56:05.177 に答える