使用ServiceStack构建第一个客户端

时间:2018-08-30 17:44:05

标签: servicestack

我正在尝试使用ServiceStack连接到OAuth2 / JSON服务。 (C#)

首先,我正在努力寻找一个很好的示例,因为大多数示例似乎都使用ServiceStack v3。因此,如果您知道一个很好的例子,那么可以解决这个问题。

我正在处理关于以下问题的示例代码:ServiceStack intercept requests before they are sent client side

但是我很难找到要安装的正确NUGET软件包。

我有NUGET包ServiceStack,ServiceStack.Client,ServiceStack.Common和ServiceStack.Authentication.OAuth2,ServiceStack.HttpClient。

我仍然无法解决:

07Jun2018 21:37:10

名称空间名称“ web”在名称空间ServiceStack.Common中不存在

request.ContentType = ServiceStack.Common.Web.ContentType.Json;

ApiCustomHttpHeaders在当前上下文中不存在。

1 个答案:

答案 0 :(得分:2)

如链接的答案所示,您需要在ServiceStack v4 +中使用RequestFilter。 MimeTypes在MimeTypes静态类中可用,否则,您可以使用JSON Content-Type application/json,例如:

client.RequestFilter = req =>
{
    // ContentType still null at this point so we must hard code it
    // Set these fields before trying to create the token!
    request.ContentType = MimeTypes.Json;
    request.Date = DateTime.Now;

    var secret = "5771CC06-B86D-41A6-AB39-9CA2BA338E27";
    var token = ApiSignature.CreateToken(request, secret);
    req.Headers.Add(ApiCustomHttpHeaders.UserId, "1");
    req.Headers.Add(ApiCustomHttpHeaders.Signature, token);
};