Sta*_*ros 19 c# web-services .net-2.0
我想编写一个ac#类,它将创建一个连接到运行到www.temp.com的web服务,向方法DoSomething发送2个字符串参数并获取字符串结果.我不想使用wsdl.由于我知道网络服务的参数,我只是想做一个简单的电话.
我想在.Net 2中应该有一种简单易行的方法,但我找不到任何例子......
Phi*_*eck 23
如果这个"webservice"是一个简单的HTTP GET,你可以使用WebRequest:
WebRequest request = WebRequest.Create("http://www.temp.com/?param1=x¶m2=y");
request.Method="GET";
WebResponse response = request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
从那里你可以看看response.GetResponseStream的输出.你可以用同样的方式点击POST服务.
但是,如果这是一个SOAP Web服务,那就不那么容易了.根据webservice的安全性和选项,有时你可以采用已经形成的请求并将其用作模板 - 替换param值并发送它(使用webrequest),然后手动解析SOAP响应......但在这种情况下你正在寻找许多额外的工作,也可以wsdl.exe用来生成代理.
tva*_*son 11
我将探索使用ASP.NET MVC为您的Web服务.您可以通过标准表单参数提供参数,并将结果作为JSON返回.
[HttpPost]
public ActionResult MyPostAction( string foo, string bar )
{
...
return Json( new { Value = "baz" } );
}
Run Code Online (Sandbox Code Playgroud)
在您的客户端中,使用HttpWebRequest
var request = WebRequest.Create( "/controller/mypostaction" );
request.Method = "POST";
var data = string.Format( "foo={0}&bar={1}", foo, bar );
using (var writer = new StreamWriter( request.GetRequestStream() ))
{
writer.WriteLine( data );
}
var response = request.GetResponse();
var serializer = new DataContractJsonSerializer(typeof(PostActionResult));
var result = serializer.ReadObject( response.GetResponseStream() )
as PostActionResult;
Run Code Online (Sandbox Code Playgroud)
你在哪里
public class PostActionResult
{
public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83467 次 |
| 最近记录: |