加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ServiceStack RequestBindingException

发布时间:2020-12-16 01:56:31 所属栏目:百科 来源:网络整理
导读:我正在使用ServiceStack构建一个相当简单的服务,但是我在我的几个服务上遇到了这个非描述性错误(在浏览器中尝试查看uri时). errorCode:RequestBindingException.消息:无法绑定请求. 这是我的DTO: [Route("/jtip/cases/{Count},GET")]public class AgencyC
我正在使用ServiceStack构建一个相当简单的服务,但是我在我的几个服务上遇到了这个非描述性错误(在浏览器中尝试查看uri时). errorCode:RequestBindingException.消息:无法绑定请求.

这是我的DTO:

[Route("/jtip/cases/{Count},GET")]
public class AgencyCaseSummary : IReturn<AgencyCaseSummaryResponse>
{
    public int Count { get; set; }
}

public class CaseSummary
{
    public int Id { get; set; }
    public string AgencyCaseNumber { get; set; }
    public string AgencyRepName { get; set; }
    public string Service { get; set; }
    public string Milestone { get; set; }
    public string Status { get; set; }
}

public class AgencyCaseSummaryResponse
{
    public List<CaseSummary> CaseSummary { get; set; }
    public int ActiveCaseCount { get; set; }
    public int OpenRequestCount { get; set; }
}

这是我的服务:

public class AgencyCaseSummaryService : ServiceStack.ServiceInterface.Service
{
    // Injection handled by Funq 
    public IRequestService RequestService { get; set; }
    public ILog Log { get; set; }

    /// <summary>
    /// Gets the case summary for the most recent cases
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    public AgencyCaseSummaryResponse Get(AgencyCaseSummary request)
    {
        AgencyCaseSummaryResponse summary = new AgencyCaseSummaryResponse();
        Log.Info("Created new agency case summary call");
        try
        {
            if (request.Count > 0)
            {
                var caseSummary = RequestService.GetRecentCases(request.Count);
                summary.ActiveCaseCount = caseSummary.ActiveCaseCount;
                summary.OpenRequestCount = caseSummary.OpenRequestCount;

                if (caseSummary.Cases.Count > 0)
                    summary.CaseSummary = DTOMapper.Map(caseSummary.Cases);
            }
        }
        catch (Exception ex)
        {
            Log.Error("Api.AgencyCaseService",ex);
        }
        return summary;
    }
}

我在这里错过了什么吗?错误是什么意思?

解决方法

[Route("/jtip/cases/{Count},GET")]
public class AgencyCaseSummary : IReturn<AgencyCaseSummaryResponse>
{
    public int Count { get; set; }
}

route属性需要URL模板和方法作为单独的参数(参见RouteAttribute.cs)

因此,要解决您的问题,请将属性更改为

[Route("/jtip/cases/{Count}","GET")]

至于错误的含义,当路由匹配但是无法转换(或反序列化)URL时,RestHandler(RestHandler.cs)会抛出它

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读