views:

301

answers:

1

I have a WCF service transporting arrays of bytes. This is used internally, and only by other ASP.NET applications. Because of the size of the files, I had to make a lot of changes to the readerQuotas, maxReceivedMessageSize, and other pieces that normally handle DoS attacks.

Right now, it's set up as wsHttpBinding running on IIS 7.0, and I'd like to switch it to netTcpBinding.

  1. I heard that IIS 7.0 handles netTcpBinding differently from previous versions of IIS (i.e. you can do it easily, and it just runs on IIS directly). So, is it a matter of just changing the config file, or is there more that needs to be done?
  2. Will the changes to the readerQuotas, etc., need to be modified?
  3. Are there changes on the client that need to be done, or can I just refresh the service reference and things should just work.

Thanks.

+2  A: 

Yes, IIS7 with WAS (Windows Process Activation Service) handles all non-HTTP protocols quite easily. You do need to do a few setup steps, but nothing major - no extra components to install or anything, all part of Windows/IIS7/WAS.

The modifications to your config need to stay the same, yes. However, if you have large files to transfer, I would strongly recommend using WCF streaming which minimizes the config changes needed, and speeds things up in general.

The client side will need to connect to the new net.tcp://...... endpoint and thus pick up the new settings for the net.tcp binding - but that should be all, yes.

marc_s