我厌倦了用WCF获取POST数据(我是新手)所以我真的不知道我做错了什么。我正在尝试使用以下格式发送POST数据:
<!doctype html>
<html>
<head></head>
<body>
<form action='http://localhost:56076/Service.svc/invoke' method="post" target="_blank">
<label for="firstName">First Name</label>: <input type="text" name="firstName" value="" />
<label for="lastName">Last Name</label>: <input type="text" name="lastName" value="" />
<input type="submit" />
</form>
</body>
</html>
我正在使用WCF服务应用程序(在VS2008中):
//IService.cs: [ServiceContract] public interface IService { [OperationContract] [WebInvoke(Method = "POST", UriTemplate = "invoke", BodyStyle = WebMessageBodyStyle.WrappedRequest)] string GetData(Stream aoInput); }
//Service.svc.cs public class Service : IService { public string GetData(Stream aoInput) { using (StreamReader loReader = new StreamReader(aoInput)) { string body = loReader.ReadToEnd(); var @params = HttpUtility.ParseQueryString(body); return @params["FirstName"]; } } }
在我按表单上的提交后执行服务时,我的代码中的断点没有响应。我做错了什么?
答案 0 :(得分:1)
我发现了other_wcf_stuff。所有技巧都在web.config中(必须声明绑定(仅限webHttpBinding)和行为配置)。我的服务界面现在也是:
[ServiceContract] public interface IService { [OperationContract] string GetData(Stream aoInput); }