System.Data
System.Data

Reputation: 3968

Difference between WCF Service and WCF Service Application

In Visual Studio 2010, there are two options to create a WCF Service. The first one is File | New | Projects... | WCF | WCF Service Application. The second one is via File| New | Web Site... | Visual C# | WCF Service. Both of them looks like the same. What exactly are the differences between the two projects?

Upvotes: 0

Views: 6261

Answers (2)

Md. Ilyas Hasan Mamun
Md. Ilyas Hasan Mamun

Reputation: 1888

One is a Web Site for creating WCF Services from File | New | Web Site...| Visual C# | WCF Service and another is a Project for creating WCF service Application.

A service library is a library of services that a host can reference and startup.A service application includes a website host already setup for you. If you start with a service library you can choose any host you wish, for example a windows service, IIS/ASP.NET, or even a console application, and you'd just reference your library from your new host. Choosing a Service Application limits your host to just IIS/ASP.NET.

Upvotes: 0

Karan Shah
Karan Shah

Reputation: 752

Info on the above mentioned link is here:

A service application includes a website host already setup for you. A service library is a library of services that a host can reference and startup.

If you start with a service library (recommended) you can then choose any host you wish (a windows service, IIS/ASP.NET, or even a console application) and you'd just reference your library from your new host. Choosing a Service Application limits your host to just IIS/ASP.NET (though this might be ok for your purposes, but will limit the protocols you can use).

Edit: Changes in IIS since I wrote this allow for a wider variety of protocols on ASP.NET activated services, so choosing a service application is much less limiting than before.

all you have is the one project I see only added complexity if you separate for the heck of it. I used a library when I had some particular use cases where I had to host in both a windows service and in IIS.

For IIS you you can move the classes and interfaces to a library but keep your .SVC files in the web project. You must edit the .SVC files to point to the properly qualified classes.

Regards

Karan Shah

Upvotes: 4

Related Questions