如何使用多个参数在C#中使用REST服务(7个参数) [英] How to consume REST service in C# with multiple parametrs(7 parameters)

查看:606
本文介绍了如何使用多个参数在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆