Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am pretty new to exposing the WCF services hosted on IIS over internet. I will be deploying a WCF service over IIS(6 or 7) and would like to expose this service over the internet. This will be hosted in a corporate network having firewall, I want this service to be accessible over the internet(should be able to pass through the firewall)

I did some research on this and some of the pointers I got: 1. I could use wsHTTPBinding or nettcpbinding (the client is intended to be .net client). Which of the bindings is preferable. 2. To overcome the corporate I came across DMZ server, what is the purpose of this and do I really need to use this). 3. I will be passing some files between the client and server, and the client needs to know the progress of the processing on server and the end result.

I know this is a very broad question to ask, but could anyone give me pointers where I could start on this and what approach to take for this problem.

share|improve this question

closed as not a real question by MainMa, Glenn Nelson, gnat, Walter, Robert Harvey Dec 5 '12 at 22:41

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.

2 Answers

I am not sure if this is what you are looking for but here is a link to a basic article on using WCF to code a simple web service which provides a great introduction. You might want to start here and progress.

WCF Simple Web Service Introduction

share|improve this answer

You've asked three questions, but I'm only going to give a real answer to one of them!

Which binding can and should you use over the internet? Firstly, check out WCF Bindings in Depth over on MSDN. There's a table (figure 2) near the top of the document which describes the available bindings with a few details.

If you're using .NET to .NET then I'd always suggest using netTcp because it's binary rather than text, requiring less serialization and less bandwith. However some corporate firewalls block everything that isn't easily identified, and depending on which port you run the service through you might hit roadblocks. If that happens then you are stuck with a text binding.

Of the text bindings you'll probably want either basic (no transactions, no message security) or ws (transactions and message security), depending on your circumstance.

For your second question, ask your sysadmin or go over to serverfault to learn what a DMZ is and means.

For your third question, yes - this sounds like a suitable candidate for WCF!

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.