In my article "How to create and test WCF Web Service" I described how to create a simple WCF Web Service. Its natural host environment is Microsoft IIS web server. Here is the step-by-step guide how to deploy WCF Service on IIS.
Let us assume that c:\inetpub\wwwroot\WCFServices is a directory that will contain all our WCF Web Services. Build output of Calculator project was CalculatorServiceLibrary.dll and its configuration file, CalculatorServiceLibrary.dll.config.
Let us create directory for our Calculator service, with its subdirectory bin:
Now we need to copy our service dll and config file:
IIS requires config file to be named as web.config so we will rename our config file accordingly:
The next step is creating a simple single-line document named service.svc:
Service name stated here must match the one from web.config (CalculatorServiceLibrary.dll.config).
Complete set of files is:
In IIS Manager, under Default Web Site, find WCFServices directory and its subdirectory, Calculator. Select Calculator, right-click on it and click on Convert to Application item in the context menu. Web Application Settings dialog appears and we can leave default values:
When we close this dialog box, a Web Application icon appears next to the directory name:
Our web service is now deployed! We can check that by typing its URL (http://localhost/WCFServices/Calculator/Service.svc) in web browser:
We can test web methods by using WCF Test Client:
If running IIS on local host, localhost name can be used in web service URL:
WCF Web Client:
Fiddler is able to capture IIS HTTP traffic by default:
If we are interested only in SOAP messages, we can use XML View in WCF Test Client:
Let us assume that c:\inetpub\wwwroot\WCFServices is a directory that will contain all our WCF Web Services. Build output of Calculator project was CalculatorServiceLibrary.dll and its configuration file, CalculatorServiceLibrary.dll.config.
Let us create directory for our Calculator service, with its subdirectory bin:
c:\inetpub\wwwroot\WCFServices\Calculator
c:\inetpub\wwwroot\WCFServices\Calculator\bin
c:\inetpub\wwwroot\WCFServices\Calculator\bin
Now we need to copy our service dll and config file:
c:\inetpub\wwwroot\WCFServices\Calculator\CalculatorServiceLibrary.dll.config
c:\inetpub\wwwroot\WCFServices\Calculator\bin\CalculatorServiceLibrary.dll
c:\inetpub\wwwroot\WCFServices\Calculator\bin\CalculatorServiceLibrary.dll
IIS requires config file to be named as web.config so we will rename our config file accordingly:
c:\inetpub\wwwroot\WCFServices\Calculator\web.config
c:\inetpub\wwwroot\WCFServices\Calculator\bin\CalculatorServiceLibrary.dll
c:\inetpub\wwwroot\WCFServices\Calculator\bin\CalculatorServiceLibrary.dll
The next step is creating a simple single-line document named service.svc:
Service name stated here must match the one from web.config (CalculatorServiceLibrary.dll.config).
Complete set of files is:
c:\inetpub\wwwroot\WCFServices\Calculator\web.config
c:\inetpub\wwwroot\WCFServices\Calculator\service.svc
c:\inetpub\wwwroot\WCFServices\Calculator\bin\CalculatorServiceLibrary.dll
c:\inetpub\wwwroot\WCFServices\Calculator\service.svc
c:\inetpub\wwwroot\WCFServices\Calculator\bin\CalculatorServiceLibrary.dll
In IIS Manager, under Default Web Site, find WCFServices directory and its subdirectory, Calculator. Select Calculator, right-click on it and click on Convert to Application item in the context menu. Web Application Settings dialog appears and we can leave default values:
When we close this dialog box, a Web Application icon appears next to the directory name:
Our web service is now deployed! We can check that by typing its URL (http://localhost/WCFServices/Calculator/Service.svc) in web browser:
We can test web methods by using WCF Test Client:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE>WcfTestClient.exe http://bojan-pc/WCFServices/Calculator/service.svc/mex
If running IIS on local host, localhost name can be used in web service URL:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE>WcfTestClient.exe http://localhost/WCFServices/Calculator/service.svc/mex
WCF Web Client:
Fiddler is able to capture IIS HTTP traffic by default:
If we are interested only in SOAP messages, we can use XML View in WCF Test Client: