我正在实现一个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"
我是否会错过用多个参数来定义合同的内容?
非常感谢任何帮助。
问候 桑德罗
答案 0 :(得分:0)
你需要从头开始?对于第一个查询参数,然后使用&amp;对于下一个
http://localhost:50358/UszDataService/mrn/10171098?FromDate=2017-03-01&Todate=2017-03-03