使用VS中的其他参数调试REST服务

时间:2017-04-27 09:43:15

标签: c# debugging wcf-rest

我正在实现一个REST服务,它还需要额外的参数。我的问题是我无法在调试时进入特定方法。我将相关进程附加到VS,并且对于一个调用调试工作正常。让我们先看看导致我的问题的原因:

[OperationContract]
[WebGet(RequestFormat = WebMessageFormat.Json,
      ResponseFormat = WebMessageFormat.Json,
      UriTemplate = "/mrn/{PatNr}")]
List<LaborDataContract> LaborResultDetailsByPatNr(string PatNr);

[OperationContract]
[WebGet(RequestFormat = WebMessageFormat.Json,
      ResponseFormat = WebMessageFormat.Json,
      UriTemplate = "/mrn/{PatNr}&FromDate={FromDate}&ToDate={ToDate}")]
List<LaborDataContract> LaborResultDetailsByPatNrDatePeriod(string PatNr, string fromDate, string todate);

上述方法的实施已经很好。

此服务调用正常:

http://localhost:50358/UszDataService/mrn/10171098

调用上面的URI我可以进入代码,因此调试工作正常。

但是如果我调用以下URI,调试总是会进入上面的方法而不是合同中定义的方法:

http://localhost:50358/UszDataService/mrn/10171098&FromDate=2017-03-01&Todate=2017-03-03

令人困惑的是,在调用方法的参数(PatNr)中,当我检查内容时,我会看到以下内容:

"10171098&FromDate=2017-03-01&Todate=2017-03-03"

我是否会错过用多个参数来定义合同的内容?

非常感谢任何帮助。

问候 桑德罗

1 个答案:

答案 0 :(得分:0)

你需要从头开始?对于第一个查询参数,然后使用&amp;对于下一个

http://localhost:50358/UszDataService/mrn/10171098?FromDate=2017-03-01&Todate=2017-03-03