如何使用多个参数在C#中使用REST服务(7个参数) [英] How to consume REST service in C# with multiple parametrs(7 parameters)
本文介绍了如何使用多个参数在C#中使用REST服务(7个参数)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在C#中使用多个参数(7个参数)消耗REST服务
参数是 -
1.userid
2。 pwd
3.requestXML
4.ProductType
5.Product Version
6.reqVolType
7 mbrid,
我尝试过:
I want to Consume REST Service in C# with multiple parametrs(7 parameters)
Parametrs are-
1.userid
2.pwd
3.requestXML
4.ProductType
5.Product Version
6.reqVolType
7 mbrid,
What I have tried:
protected void Button1_Click(object sender, EventArgs e)
{
contentinxml.Load(Server.MapPath("/new.xml"));
string dataPacketIN = contentinxml.OuterXml;
URL = "http://test.highmark.in/Inquiry/doGet.service/requestResponse";
DATA = @"{requestXML=" + dataPacketIN + "userId=" + b2 + ",password=" + b3 + ",productType=" + b5 + ",productVersion=" + b6 + " ,mbrid=" + b4 + ",reqVolType=" + b7 + "}";
CreateObject();
}
private static void CreateObject()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "text/xml";
request.ContentLength = DATA.Length;
using (Stream webStream = request.GetRequestStream())
using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII))
{
requestWriter.Write(DATA);
}
//try
//{
WebResponse webResponse = request.GetResponse();
using (Stream webStream = webResponse.GetResponseStream())
{
if (webStream != null)
{
using (StreamReader responseReader = new StreamReader(webStream))
{
string response = responseReader.ReadToEnd();
Console.Out.WriteLine(response);
}
}
}
}
推荐答案
当我看到参数放在一起的时候,我觉得很像我会看到SQL连接,你好!
这是来自RestSharp页面的示例
When I see parameters put together like that I think much like I would if I saw SQL concatenation, YUCK !
Here's the example from the RestSharp page
var client = new RestClient("http://example.com");
// client.Authenticator = new HttpBasicAuthenticator(username, password);
var request = new RestRequest("resource/{id}", Method.POST);
request.AddParameter("name", "value"); // adds to POST or URL querystring based on Method
request.AddUrlSegment("id", "123"); // replaces matching token in request.Resource
// easily add HTTP Headers
request.AddHeader("header", "value");
// add files to upload (works with compatible verbs)
request.AddFile(path);
// execute the request
IRestResponse response = client.Execute(request);
var content = response.Content; // raw content as string
// or automatically deserialize result
// return content type is sniffed but can be explicitly set via RestClient.AddHandler();
RestResponse<Person> response2 = client.Execute<Person>(request);
var name = response2.Data.Name;
// easy async support
client.ExecuteAsync(request, response => {
Console.WriteLine(response.Content);
});
// async with deserialization
var asyncHandle = client.ExecuteAsync<Person>(request, response => {
Console.WriteLine(response.Data.Name);
});
// abort the request on demand
asyncHandle.Abort();
例如,看一下'AddParameter'方法 - 当然,这一定更容易! ... RestSharp - 用于.NET的简单REST和HTTP客户端 [ ^ ]
这篇关于如何使用多个参数在C#中使用REST服务(7个参数)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文