C\#HttpPost 를 사용 하여 WebService 호출 을 요청 하 는 방법
4051 단어 C#HttpPostWebService
WebService 서버 코드:
public class WebServiceDemo : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public string Sum(string param1, string param2)
{
int num1 = Convert.ToInt32(param1);
int num2 = Convert.ToInt32(param2);
int sum = num1 + num2;
return sum.ToString();
}
}
간단 한 코드 입 니 다.프 리 젠 테 이 션 에 만 사 용 됩 니 다. 클 라 이언 트 호출 코드:
class Program
{
static void Main(string[] args)
{
Program program = new Program();
string url = "http://localhost:12544/WebServiceDemo.asmx";
string method = "Sum";
string num1 = "1";
string num2 = "2";
string result = program.HttpPostWebService(url, method, num1, num2);
Console.WriteLine(result);
Console.ReadKey();
}
public string HttpPostWebService(string url,string method,string num1,string num2)
{
string result = string.Empty;
string param = string.Empty;
byte[] bytes = null;
Stream writer = null;
HttpWebRequest request = null;
HttpWebResponse response = null;
param = HttpUtility.UrlEncode("param1") + "=" + HttpUtility.UrlEncode(num1) + "&" + HttpUtility.UrlEncode("param2") + "=" + HttpUtility.UrlEncode(num2);
bytes = Encoding.UTF8.GetBytes(param);
request = (HttpWebRequest)WebRequest.Create(url + "/" + method);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bytes.Length;
try
{
writer = request.GetRequestStream(); // Stream
}
catch (Exception ex)
{
return "";
}
writer.Write(bytes, 0, bytes.Length); //
writer.Close();
try
{
response = (HttpWebResponse)request.GetResponse(); //
}
catch (WebException ex)
{
return "";
}
#region
Stream stream = response.GetResponseStream(); //
XmlTextReader Reader = new XmlTextReader(stream);
Reader.MoveToContent();
result = Reader.ReadInnerXml();
#endregion
#region Xml
//StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
//result = reader.ReadToEnd();
#endregion
response.Dispose();
response.Close();
//reader.Close();
//reader.Dispose();
Reader.Dispose();
Reader.Close();
stream.Dispose();
stream.Close();
return result;
}
}
첫 번 째 읽 기 방식 의 반환 결과:두 번 째 읽 기 방식 의 반환 결과:
PS:호출 타 임 스 가 잘못 되면 서버(즉 WebService)의 웹.config 설정 에 다음 설정 노드 를 추가 하려 고 시도 할 수 있 습 니 다.
<system.web>
<webServices>
<protocols>
<add name="HttpPost" />
</protocols>
</webServices>
</system.web>
참고:C\#Http Post 방식 으로 JSon 데이터 문자열 을 전달 하여 웹 서 비 스 를 호출 합 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.