Introduction
I am creating a web service for performing arithmetic operations or say a
calculator. Then, I will use this service in a windows based application to perform
arithmetic operations like a calculator. So, let's create a web service. Follow
the given steps.
- Create new project
- Select ASP.NET Empty Web Application
- Give a name to your project and click ok button
- Go to Solution Explorer and right click at your project
- Select Add New Item and select Web Service application
- Give it name and click ok button
Now replace the code on .asmx.cs page with the following code.
using
System;
using
System.Collections.Generic;
using
System.Linq;
using System.Web;
using
System.Web.Services;
namespace calc
{
///
<summary>
/// Summary
description for CalcWebService
///
</summary>
[WebService(Namespace =
"mycalculatorexample.org")]
[WebServiceBinding(ConformsTo =
WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from
script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class
CalcWebService : System.Web.Services.WebService
{
[WebMethod]
public string
calculate(string first,
string second, char sign)
{
string result;
switch (sign)
{
case
'+':
{
result = (Convert.ToInt32(first)
+ Convert.ToInt32(second)).ToString();
break;
}
case
'-':
{
result = (Convert.ToInt32(first)
- Convert.ToInt32(second)).ToString();
break;
}
case
'*':
{
result = (Convert.ToInt32(first)
* Convert.ToInt32(second)).ToString();
break;
}
case
'/':
{
result = (Convert.ToInt32(first)
/ Convert.ToInt32(second)).ToString();
break;
}
case
'%':
{
result = (Convert.ToInt32(first)
% Convert.ToInt32(second)).ToString();
break;
}
default:
result = "Invalid";
break;
}
return result;
}
}
}
Run the application.
Output:
![]()
Go to test page by clicking
at "calculate" -> do the entry and click the "invoke" button.
![]()
It will show the result like the below figure.( After clicking the "invoke" button)
![]()
Similarly, you can perform different operations like addition, subtraction,
multiplication, division and modulo division. Now we consume this web service
into window form application.
Create a windows application and add a service reference ( You can get help here ).
After adding the reference, go to the design page and arrange the UI controls like in the below figure.
![]()
Now, write the following code in the .cs file.
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
namespace
Calculator
{
public partial
class Form1 :
Form
{
public Form1()
{
InitializeComponent();
}
string i, j;
static char
c;
private void
btnthree_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(3);
}
private void
btnone_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(1);
}
private void
btntwo_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(2);
}
private void
btnfour_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(4);
}
private void
btnfive_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(5);
}
private void
btnsix_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(6);
}
private void
btnseven_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(7);
}
private void
btneight_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(8);
}
private void
btnnine_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(9);
}
private void
btnzero_Click(object sender,
EventArgs e)
{
textBox1.Text += Convert.ToString(0);
}
private void
btnplus_Click(object sender,
EventArgs e)
{
i = textBox1.Text;
textBox1.Text = "";
c = '+';
}
private void
btnminuse_Click(object sender,
EventArgs e)
{
i = textBox1.Text;
textBox1.Text = "";
c = '-';
}
private void
btnmultiply_Click(object sender,
EventArgs e)
{
i = textBox1.Text;
textBox1.Text = "";
c = '*';
}
private void
btndivide_Click(object sender,
EventArgs e)
{
i = textBox1.Text;
textBox1.Text = "";
c = '/';
}
private void
btnmodulo_Click(object sender,
EventArgs e)
{
i = textBox1.Text;
textBox1.Text = "";
c = '%';
}
private void
btnequal_Click(object sender,
EventArgs e)
{
j = textBox1.Text;
calclocalhost.CalcWebService obj
= new calclocalhost.CalcWebService();
textBox1.Text = obj.calculate(i, j, c);
}
}
}
Run the application.
Output:
![]()
You can work as calculator.