I’m about to start building WCF web service, and i would like to structure solution in such way that is would be:
-
Easy to develop – i would like so that developers on my team could just get sources, build, and start service, probably best would be to have possibility to start it as console app?
-
Easy to host this service later in IIS, WAS or windows service.
I was thinking about having this projects:
- Shared (for web service interface)
- WebService (for actual implementation of web service and svc file)
- ConsoleHost (for hosting web service in console app)
Will there be any problems with such approach?
What could be things that i should consider in advance?
Maybe there is better structure?
I would appreciate any insights and links to resources that could help me chose right structure.
p.s. web service itself is simple, but this approach would be reused for more services.
What I tend to do is to place all my interface definitions in one assembly/project, all the service implementations in another assembly project, and the hosting environment, whether it be console, IIS (ie the .svc files) or windows service or whatever, in a separate assembly.