如何通过HTTPPOST从C#调用Web服务temp.comWeb服务,将2个字符串参数发送到方法DoSomething并获取字符串结果。我不想使用wsdl。由于我知道web服务的参数,所以我只想进行一个简单的调用。我想在.Net2中应该有一个简单易行的方法,但我找不到任何示例......如果这个“webservice”是一个简单的HTTPGET,你可以使用WebRequest:WebRequestrequest=WebRequest.Create("http://www.temp.com/?param1=x¶m2=y");request.Method="GET";WebResponse响应=request.GetResponse();从那里您可以查看response.GetResponseStream的输出。你可以用同样的方式点击POST服务。但是,如果这是一个SOAPweb服务,那就没那么容易了。根据网络服务的安全性和选项,有时您可以采用已经形成的请求并将其用作模板-替换参数值并发送它(使用webrequest),然后手动解析SOAP响应......但在这种情况下你正在寻找有了很多额外的工作,也可以使用wsdl.exe来生成代理。我将探索将ASP.NETMVC用于Web服务。您可以通过标准表单参数提供参数,结果以JSON格式返回。[HttpPost]publicActionResultMyPostAction(stringfoo,stringbar){...returnJson(new{Value="baz"});在您的客户端中,使用HttpWebRequestvarrequest=WebRequest.Create("/controller/mypostaction");request.Method="POST";vardata=string.Format("foo={0}&bar={1}",foo,bar);使用(varwriter=newStreamWriter(request.GetRequestStream())){writer.WriteLine(data);}varresponse=request.GetResponse();varserializer=newDataContractJsonSerializer(typeof(PostActionResult));varresult=serializer.ReadObject(response.GetResponseStream())asPostActionResult;其中公共类PostActionResult{公共字符串值{得到;放;另一种调用POST方法的方法,我以前是在WebAPI中调用POST方法。WebClientwc=newWebClient();字符串结果;wc.Headers[HttpRequestHeader.ContentType]="application/x-www-form-urlencoded";结果=wc.UploadString("http://localhost:23369/MyController/PostMethodName/Param1/Param2","");Response.Write(结果);可以使用Newtonsoft.Json来返回List对象:以上是C#学习教程的全部内容:如何通过HTTPPOST从C#调用Web服务,如果对你有用,还需要进一步了解C#学习教程,希望大家多多关注——WebClientwc=newWebClient();字符串结果;wc.Headers[HttpRequestHeader.ContentType]="application/x-www-form-urlencoded";vardata=string.Format("Value1={0}&Value2={1}&Value3={2}","param1","param2","param3");结果=wc.UploadString("http:your_services",data);varser=newJavaScriptSerializer();varpeople=ser.Deserialize(result);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
