Hosting WCF Service 4.0 in IIS 7.5

Hi Everyone,

Today I want to show you what I did to get my WCF Service hosted on my development machine IIS (this could be your web server too). I am using VS 2010, .NET 4.0 framework, and IIS 7.5 in Windows 7 environment.

In this demonstration I am going to use my AlkitabWebService.svc found in this post: Silverlight 4 Simple Project Part 2 (WCF Service).

Step 1 - Enabling IIS + ASP.NET Registration
  • Click Start -> Control Panel -> Programs -> Programs and Features.
  • On the left tab, click Turn Windows Features on or off. Turn on the features below and click OK.


  • When you go to http://localhost , you will now see the IIS7 homepage.
  • Now go to a command prompt and run aspnet_regiis:


Step 2 - Publish the WCF service from VS 2010
  • Right-click the project and click Publish.
  • Choose 'File System' as Publish method, and type C:\inetpub\wwwroot\AlkitabWebService\


This will create a folder for your WCFService that you can refer to from IIS in the next step.

Step 3 - Create New Application in IIS
  • Go to your IIS Manager (can be accessed from Administrative Tools).
  • Right-click Default Web Site -> Add Application...
  • Enter in the Application Name and point the physical path to the folder that contains our published WCF service.


Step 4 - CrossDomain.xml and ClientAccessPolicy.xml
  • In order to be able to access your localhost in IIS, you need to implement a cross domain policy. I'm just going to make this simple. In your C:\inetpub\wwwroot folder, create a crossdomain.xml and clientaccesspolicy.xml files:

  • Crossdomain.xml

1
2
3
4
5
6
<?xml version="1.0"?>
 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy> <allow-http-request-headers-from domain="*" headers="*"/>
 
</cross-domain-policy>


  • Clientaccesspolicy.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
    <cross-domain-access>
        <policy>
            <allow-from http-request-headers="SOAPAction" >
                <domain uri="https://*"/>
                <domain uri="http://*" />
            </allow-from>
            <grant-to>
                <resource path="/" include-subpaths="true"/>
            </grant-to>
        </policy>
    </cross-domain-access>
</access-policy>


Step 5 - Test your WCF Service
  • In IIS Manager, click the AlkitabWebService (alias).
  • On the right tab, click Browse*:80 to go to your http://localhost/AlkitabWebService/
  • You should get the view like this:


  • Clicking on AlkitabWebService.svc is our Service page. Yay!

Comments

Popular posts from this blog

SharePoint 2013 anonymous access add attachments to list item

CRM Plugin - Parent and Child Pipeline