我的请求中有参数
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "request?code={codeParam}&name={nameParam}&id={idParam}")]
List<ResponseData> JSONDataList(string codeParam , string nameParam , string idParam);
所以我有codeParam
,nameParam
和idParam
如果Uri将是"request?name=myName&BlaBlaParam=example"
怎么办?
如何在代码中从请求中捕获此未定义的BlaBlaParam
参数?
服务正常,没有例外。
答案 0 :(得分:0)
WebOperationContext webCtx;
webCtx = WebOperationContext.Current;
IncomingWebRequestContext incomingCtx;
incomingCtx = webCtx.IncomingRequest;
string uri;
uri = incomingCtx.UriTemplateMatch.RequestUri.ToString();
NameValueCollection query;
query = incomingCtx.UriTemplateMatch.QueryParameters;
string queryName;
if (query.Count != 0)
{
var enumQ = query.GetEnumerator();
while (enumQ.MoveNext())
{
queryName = enumQ.Current.ToString();
Console.Writeline{"{0} = {1}", queryName, query[queryName]);
}
}
其中query是一个字典,其中包含:keys是参数名称,值是参数值