---
title: "Calculator in WCF"  
description: "In this article, I’m create a Calculator using WCF."  
author: "priyanka kushwaha"  
published: 2015-03-13  
updated: 2019-09-07  
canonical: https://www.mindstick.com/articles/1660/calculator-in-wcf  
category: ".net"  
tags: ["c#", "windows services", "wcf", "wcf data services"]  
reading_time: 2 minutes  

---

# Calculator in WCF

In this [article](https://yourviews.mindstick.com/view/81489/kashmir-now-after-an-year-of-abrogation-of-article-370), I’m create a [Calculator](https://www.mindstick.com/articles/38/calculator-in-asp-dot-net-using-javascript) using WCF.\

**Description**

This is simple calculator that contains four basic mathematical [functions](https://www.mindstick.com/forum/34086/jquery-callback-functions) for [common](https://yourviews.mindstick.com/story/1215/the-most-common-sexually-transmitted-infections) calculation.

**Step 1:** Start [Visual studio](https://www.mindstick.com/articles/12378/visual-studio-for-mac-is-out-of-beta-preview-now-officially-available) 2012>> click New [project](https://yourviews.mindstick.com/story/1788/things-to-ensure-your-construction-project-is-successful)>> WCF service [Application](https://www.mindstick.com/articles/12824/calculator-application-in-android)

**Step 2:** Give appropriate name to [your service](https://answers.mindstick.com/qa/96974/what-to-do-if-you-want-to-upgrade-downgrade-or-cancel-your-service-plan) and click on OK button.

![Calculator in WCF](https://www.mindstick.com/mindstickarticle/7397f1bc-338d-4adc-aa5a-fd83667f5bca/images/2dae4075-434e-4510-b6ba-fe01fa290967.png)

**Step 3****:** Write in IService1.cs

```
using System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.ServiceModel.Web;using System.Text; namespace WcfService1{    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.    [ServiceContract]    public interface IService1    {         //Data contract is not required since both parameter.        [FaultContract(typeof(Service1))]        [OperationContract]        [LoaderOptimization(LoaderOptimization.MultiDomain)]         double Add(double firstNum, double secondNum);        [OperationContract]        double Mul(double firstNum, double secondNum);        [OperationContract]        double Sub(double firstNum, double secondNum);        [OperationContract]        [FaultContract(typeof(Service1))]        double Div(double firstNum, double secondNum);    }} Step 4: Write Service1.svc.csusing System;using System.Collections.Generic;using System.Linq;using System.Runtime.Serialization;using System.ServiceModel;using System.ServiceModel.Web;using System.Text; namespace WcfService1{    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in code, svc and config file together.    // NOTE: In order to launch WCF Test Client for testing this service, please select Service1.svc or Service1.svc.cs at the Solution Explorer and start debugging.    public class Service1 : IService1    {         public double Add(double firstNum, double secondNum)        {            return (firstNum + secondNum);        }        public double Mul(double firstNum, double secondNum)        {            return (firstNum * secondNum);        }        public double Sub(double firstNum, double secondNum)        {             return (firstNum - secondNum);        }         public double Div(double firstNum, double secondNum)        {            return (firstNum / secondNum);        }    }}
```

Step 5: Click on New project select Windows >> Window Forms Application

\

\

Step 6: Right click on References>> click on Add Services References

![Calculator in WCF](https://www.mindstick.com/mindstickarticle/7397f1bc-338d-4adc-aa5a-fd83667f5bca/images/889876c8-35c6-4f80-aa6d-b3391d011776.png)

Step 7: click on OK Button

\

Step 8: Write in Form1.cs

\

\

```
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using WindowApplication.ServiceReference1;namespace WindowApplication{        public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        enum operation { Add = '+', Sub = '-', mul = '*', div = '/' };        private void txtSub_Click(object sender, EventArgs e)        {                          Service2Client obj = new Service2Client();             Button btn=(Button)sender;            operation type=(operation)char.Parse(btn.Text);            switch (type)            {                case operation.Add:                    txtResult.Text = Convert.ToString( obj.Add(Convert.ToDouble(txtFNum.Text),Convert.ToDouble(txtSNum.Text)));                    break;                case operation.div:                    txtResult.Text = Convert.ToString(obj.Div(Convert.ToDouble(txtFNum.Text), Convert.ToDouble(txtSNum.Text)));                    break;                 case operation.mul:                    txtResult.Text = Convert.ToString(obj.Mul(Convert.ToDouble(txtFNum.Text), Convert.ToDouble(txtSNum.Text)));                    break;                 case operation.Sub:                    txtResult.Text = Convert.ToString(obj.Sub(Convert.ToDouble(txtFNum.Text), Convert.ToDouble(txtSNum.Text)));                    break;             }          }      } }
```

**Step 9****:** Build and run the project.

\

![Calculator in WCF](https://www.mindstick.com/mindstickarticle/7397f1bc-338d-4adc-aa5a-fd83667f5bca/images/d19a28d6-7408-4f1c-b9a2-bd7dcc093dc9.png)

---

Original Source: https://www.mindstick.com/articles/1660/calculator-in-wcf

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
