Csharp/CSharp Tutorial/Network/WebService — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 15:20, 26 мая 2010
Simplest web method
<source lang="csharp"><%@ WebService Language="C#" Class="HelloWebService" %> using System; using System.Web.Services; public class HelloWebService {
[WebMethod] public string HelloWorld() { return "Hello World"; }
}</source>
Simple WebService
<source lang="csharp"><%@ WebService Language="c#" Class="MathService"%> using System; using System.Web.Services; [WebService(Namespace="http://localhost/test")] public class MathService : WebService {
[WebMethod] public int Add(int a, int b) { return a + b; } [WebMethod] public int Subtract(int a, int b) { return a - b; } [WebMethod] public int Multiply(int a, int b) { return a * b; } [WebMethod] public int Divide(int a, int b) { int answer; if (b != 0) { answer = a / b; return answer; } else return 0; }
} /////////////// using System; class ServiceTest {
public static void Main(string[] argv) { MathService ms = new MathService(); int x = Convert.ToInt16(argv[0]); int y = Convert.ToInt16(argv[1]); int sum = ms.Add(x, y); int sub = ms.Subtract(x, y); int mult = ms.Multiply(x, y); int div = ms.Divide(x, y); Console.WriteLine("The answers are:"); Console.WriteLine(" {0} + {1} = {2}", x, y, sum); Console.WriteLine(" {0} - {1} = {2}", x, y, sub); Console.WriteLine(" {0} * {1} = {2}", x, y, mult); Console.WriteLine(" {0} / {1} = {2}", x, y, div); }
}</source>
Web service client
<source lang="csharp">using System; using System.IO; using System.Net; using System.Xml.XPath; public class MainClass{
public static void Main(string [] args) { string content = "productCode=1111"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1:80/Query.asmx/GetNumberInStock"); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = content.Length; StreamWriter streamWriter = new StreamWriter(request.GetRequestStream( )); streamWriter.Write(content); streamWriter.Flush( ); WebResponse response = request.GetResponse( ); Stream stream = response.GetResponseStream( ); XPathDocument document = new XPathDocument(stream); XPathNavigator nav = document.CreateNavigator( ); XPathNodeIterator nodes = nav.Select("//int"); Console.WriteLine(nodes.Current); }
}</source>