我有服务
[OperationContract]
void AddData(str ingdata)
实施
void AddData(string data)
{
NameValueCollection dataToAdd= HttpUtility.ParseQueryString(data);
//do seomething with data
}
和html表单
<form action='service.com/Service.svc/AddData' method="post" target="_blank">
<label >FirstName</label>
<input type="text" size="30" name="FirstName">
<label >LastName</label>
<input type="text" size="30" name="LastName">
<input type="submit" value="Submit">
</form>
调用此服务时遇到大问题。总是提交后我被重定向到服务URL,但服务实现的断点永远不会触发:/ 我想在提交后从文本输入中收集所有数据并将其输入服务参数..
我有什么问题吗?
答案 0 :(得分:2)
当从html表单调用wcf服务时,最好使用Stream类型作为服务方法
中的参数[OperationContract]
void AddData(Stream data)
在流中,我从表单中的html控件发送了所有参数,我可以使用该代码:
NameValueCollection PostParameters = HttpUtility.ParseQueryString(new StreamReader(data).ReadToEnd());
这解决了我的问题