【发布时间】:2014-01-26 17:45:49
【问题描述】:
我通过 Fiddler 调用 WebMethod,我在“请求正文”中提供了 2 个所需的参数,但我得到了一个奇怪的行为:
- 前 10 个请求,它按预期工作 => 我可以在
HttpContext.Current.Request.Form中找到参数值 - 从第 11 个 POST 请求开始,POST 参数不传输到
WCF服务 => 调试时WebMethod,HttpContext.Current.Request.Form为空。
知道为什么会发生这种情况吗?
这是我的代码:
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/getsomething")]
[FaultContract(typeof(ResponseMessageStatus))]
[DynamicResponseType]
public Stream GetSomething()
{
var par1 = HttpContext.Current.Request.Form["myparameter"] ;
//after 10 requests, HttpContext.Current.Request.Form is empty.
...
}
【问题讨论】:
-
您能否添加更多详细信息,例如您的 POST 请求的屏幕截图?谢谢。
-
@SilverlightFox:我无法发布它,因为机密数据太多。只要它在相同的情况下工作=>数据是有效的。其他原因导致问题,可能是 WS 应用程序中的某些问题(回收或类似)。
-
信息是否可缓存或每次都返回新信息?您是否能够更改 c# 请求以更新计数器? (这可能不会清除数据)
-
@Gauthier:是的,数据已经缓存在 C# 端。您的意思是发送一个新的 POST 参数(类似于时间戳)?
-
是的,这将是我的第一步。我不确定你是如何实现的,或者 C# 是如何实现它的合同的,所以这甚至是不可能的。
标签: c# .net wcf post webmethod