Bry*_*anB 7 wcf webinvoke http-post
我需要接受表单数据到基于WCF的服务.这是界面:
[OperationContract]
[WebInvoke(UriTemplate = "lead/inff",
BodyStyle = WebMessageBodyStyle.WrappedRequest)]
int Inff(Stream input);
Run Code Online (Sandbox Code Playgroud)
这是实现(示例 - 没有错误处理和其他安全措施):
public int Inff(Stream input)
{
StreamReader sr = new StreamReader(input);
string s = sr.ReadToEnd();
sr.Dispose();
NameValueCollection qs = HttpUtility.ParseQueryString(s);
Debug.WriteLine(qs["field1"]);
Debug.WriteLine(qs["field2"]);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
假设WCF,除了解析传入流之外,还有更好的方法来实现吗?
我记得在DevLink上和你谈过这件事.
由于您必须支持表单字段,因此获取这些(您当前正在执行的操作)的机制不会发生变化.
可能有用的东西,特别是如果你想为不需要表单字段的新应用程序重用你的服务,就是创建一个解构你的流并将它重新打包成XML/JSON/SOAP/Whatever并拥有你的表单客户端的通道通过这种方式与服务进行通信,而不使用表单的客户端可以使用另一个通道堆栈.只是一个想法......
希望有所帮助.如果您需要有关频道的帮助,请随时告诉我.