相关疑难解决方法(0)

使用ServiceStack的OData?

我刚刚看到ServiceStack,我正在考虑用它来构建服务.

是否可以使用服务堆栈提供OData提要,以便我能够公开IQueryable并从客户端查询它?

c# odata servicestack

30
推荐指数
1
解决办法
1万
查看次数

ServiceStack应该是MVC应用程序中的服务层还是应该调用服务层?

我正在创建一个MVC网站,并打算创建一个Web API,以便在网站内使用,也可能由第三方使用.

从MVC控制器,我将调用一个服务层,它将包含业务逻辑,作用于域模型,执行验证,进行基础设施外部服务调用等.服务层反过来将调用存储库以进行任何数据库交互.

现在,我喜欢ServiceStack的外观,并打算将它用于Web API - 它似乎比ASP.NET MVC 4 Web API更成熟.我的问题是,我应该在上面的服务层中调用ServiceStack API,类似于MVC控制器,还是应该将其作为服务层,为Web客户端和MVC控制器提供服务?

asp.net-mvc service-layer servicestack asp.net-web-api

23
推荐指数
1
解决办法
9005
查看次数

如何针对ServiceStack API编写功能测试

我们有一个使用ServiceStack连接的ASP.NET Web应用程序.我之前从未编写过功能测试,但我们的任务是针对我们的API编写测试(nUnit)并证明它一直工作到数据库级别.

有人可以帮我开始编写这些测试吗?

以下是post我们的用户服务的方法示例.

public object Post( UserRequest request )
{
    var response = new UserResponse { User = _userService.Save( request ) };

    return new HttpResult( response )
    {
        StatusCode = HttpStatusCode.Created,
        Headers = { { HttpHeaders.Location, base.Request.AbsoluteUri.CombineWith( response.User.Id.ToString () ) } }
    };
}
Run Code Online (Sandbox Code Playgroud)

现在我知道如何编写一个标准的单元测试,但我对此部分感到困惑.我是否必须通过HTTP调用WebAPI并初始化Post?我是否只是像单位测试那样调用方法?我想这是"功能测试"的一部分让我望而却步.

c# api nunit functional-testing servicestack

10
推荐指数
1
解决办法
2919
查看次数

如何使用ServiceStack DTO TranslateTo和PopulateWith?

我是ServiceStack新手.我有一个使用CambiumORM 的相当大的.NET C#解决方案.

我正在将ServiceStackWebService项目添加到我的解决方案中.我按照指南.工作正常.

现在我想添加UserService:Service返回的UserDTO使用TranslateToPopulateWith在这里.

[Route("/user")]
[Route("/user/{Id}")]
public class User
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
}


public class UserService : Service
{
    private Users users = new Users();

    public UserResponse Get(User request)
    {
        return new UserResponse { Result …
Run Code Online (Sandbox Code Playgroud)

c# dto servicestack

5
推荐指数
1
解决办法
1883
查看次数

ServiceStack的JsonSerializer可以序列化私有成员吗?

我关心的主要是ServiceStack的Redis客户端.我有一堆实体要存储在缓存中.他们的成员大多是封装的(私有的),其中一些没有任何公共访问者.ServiceStack的序列化程序是否允许我在Redis中存储(并显然获得)这些实体?或者我是否必须创建具有序列化公共属性的"干净"POCO类,这将迫使我保留任何实体的2个表示形式:真实的,以及用于将其存储在Redis中的"假"POCO表示形式?

我希望答案不是后者:)

jsonserializer redis servicestack

2
推荐指数
1
解决办法
734
查看次数

我可以为每个请求使用带有方法参数的ServiceStack路由而不是DTO类吗?

我喜欢ASP.NET MVC控制器的功能,能够添加将URL的某个部分映射到方法参数的路由属性,即:

[Route("there/are/{howManyDucks}/swimming/in/the/{bodyOfWaterType}")]
public string NotifyDucksSwimming(int howManyDucks, string bodyOfWaterType)
{
 ...
}
Run Code Online (Sandbox Code Playgroud)

是否有一种与ServiceStack相同的方法,并为每种类型的请求跳过DTO类?

c# servicestack

2
推荐指数
1
解决办法
1023
查看次数