Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4084740
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T18:28:43+00:00 2026-05-20T18:28:43+00:00

We’re developing a new middle tier for our application suite. We’re looking to rewrite

  • 0

We’re developing a new middle tier for our application suite. We’re looking to rewrite our business logic and data access layers in C#, as they are currently in VB6 and published via COM+.

What we’re trying to decide is how exactly to make this middle tier available to different clients. We’ll be using WCF to do this, and we’ve decided that we’ll use a variety of bindings in order to facilitate each different client’s needs, including a netTcpBinding for our desktop app, a net.Tcp and/or named pipe binding for an internet app running either locally or on a machine within the network, and some flavor of HTTP binding for an external web API.

What we’re trying to decide is how to host our service. It seems like most places I go to say IIS is the way to go, but it seems like you’d get better performance out of the BLL/DAL portion of it if it was under a Windows Service, and @marc_s here on SO seems to recommend self-hosting more often than not. So do we host it under IIS, under a service, or some hybrid where perhaps a thin service is hosted in IIS for the HTTP endpoint and consumes the main service via a net.tcp or named pipe binding? Separating it out allows for there to be a physical separation if desired, as well as allowing for the possibility of IIS going down, which would still leave the service running for those clients that access the endpoints it publishes.

Also, what about scalability and reliability? Is there much difference between the two hosting environments that way?

I realize there’s a lot of questions similar to this, but I haven’t been able to find quite the information I’ve been looking for, so links to more concrete help work just as well as an answer.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T18:28:43+00:00Added an answer on May 20, 2026 at 6:28 pm

    Reading this answer would seem to suggest that self-hosting is marc_s’s preference based on accepting the overhead in coding the host yourself:

    IIS WCF service hosting vs Windows Service

    IIS gives you a lot of stuff for free. I would say considering this beforehand is not a bad idea, but nothing is better than measuring performance metrics to get the cold, hard facts about what is best for your solution.

    Try IIS and if it’s really that poor, create your own host. It’s not exactly expensive to get it going in IIS – and there are some tuning tips around the web.

    Update: posted this just after marc_s commented. I agree in principle, but doing the hosting yourself could prove to be overhead for no benefit. IIS is out of the box to some degree, and has it’s limitations – limitations you may never encounter.

    I’m unsure of the relevance of this feedback, but we use IIS to host .NET Remoting objects for our application. It is currently going through quite a considerable performance metric gathering process in preparation for a near factor of 10 scale up due to a new client. For us, IIS has not been identified as anything worth worrying about. About the only sticking point people have is that it is over HTTP (older IIS version for us), so is a little more message-heavy as opposed to TCP perhaps.

    Update: this MSDN article touches upon self-hosting and discusses some points to consider:

    http://msdn.microsoft.com/en-us/library/bb332338.aspx#msdnwcfhc_topic3

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

No related questions found

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.