WCF OperationContract WebInvoke POST数据为空

时间:2012-11-24 17:22:25

标签: c# wcf post

我在WCF服务上关注OperationContract;我使用HttpContext.Current.Request.Form["param"]来检索提交的数据。

 [OperationContract]
 [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)]
 public string authenticateUser()

我的service.svc文件包含<%@ ServiceHost Language="C#" Debug="true" Service="service.login" Factory="System.ServiceModel.Activation.WebScriptServiceHostFactory" %>

现在POST参数显示为null。我已经使用fidler检查了这些请求。

这个方法在我工作了几个星期,直到我迁移到VS 2012(这是我做过的唯一更改),我的托管Azure应用程序也运行正常。

还有其他方法可以获取POST数据吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

关于这一个的2个想法

1)为什么不为这样的方法传递参数?

[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)]
public string authenticateUser(string param)

或者

2)如果这不是你的选择,我想知道放置这个属性是否可以启用普通的ASP.NET管道,以便表单变量可用

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]