传递到webservice的参数
{
"action": "SIGN_FLOW_FINISH",
"flowId": "9222",
"status": 1,
"flowType": "Common",
"createTime": "2019-03-05 12:21:47",
}
webservice接口接收
[WebMethod(Description = "")]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void PostCallBack(string action, string flowId, string status, string flowType, string createTime)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/json; charset=utf-8";
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
}
-------------------------分割线-------------------------
传给webservice的参数就是这样对方不肯修改参数格式
webservice接口里面接收的时候除了写出所传递的参数外,还有其他方式可以接收参数吗?
Context.Request裡應該也可取得傳入參數
这个怎么用呢
@COLOz:
Params裡,記得是KayValuePair
你可以用Debug看看
@RosonJ: HttpContext.Current.Request["param"]
这样取出来是null
HttpContext.Current.Request.Params
这个里面没有KayValuePair
@COLOz:
Context.Request
這裡面找找吧,印象中會有所有的參數
@RosonJ: HttpContext.Current.Request.Params和Context.Request不是一样的嘛
@COLOz:
有點差別,Params沒有的話
建議在上層Request中找找
@RosonJ: Context.Request用这个也只找到Params,没有看到KayValuePair,也没有获取到整个json
@COLOz:
剛實測了一下,Post JSON的方式無法從參數以外的地方取得...
QueryString或是FormPost才可以
@RosonJ: 那就是说post请求的是无法获取到那一串json咯,我看到里面的QueryString空对象;
要不就把请求的接送改成,下面这种,直接取 ‘params’ public void PostCallBack(string params){}
{
"params":{
"action": "SIGN_FLOW_FINISH",
"flowId": "9222",
"status": 1,
"flowType": "Common",
"createTime": "2019-03-05 12:21:47",
}
}
@COLOz:
這是個方法,但不是說對方不肯修改嗎?
@RosonJ: 对啊,没法,只接收几个对方必传的参数,其他的不接收,谢谢了