2

我正在检查 servicestack示例项目 是否可以调试自托管服务?

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

自托管服务不在 a 下托管/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 回答