locked
WCF NetTcpBinding and ISA Proxy RRS feed

  • Question

  • We have a WCF service uses the NetTcpBinding with events callback. This server is deployed to the MS Azure as a worker role. From the office we have run the client apps to communicate with it happily. The ISA server in our office environment only works as a firewall without turning on the proxy feature.

    Now we have a customer needs to put the NetTcpBinding client application behind their ISA that works as a proxy. My question is:

    1.       Does the NetTcpBinding work behind a proxy server?  I have seen people talking about the proxy settings for wsHttpBinding, which hints to me that only the HTTP based binding works behind proxy servers.

     

    2.       If NetTcpBinding does work behind the proxy server, how to tell the WCF (using code instead of configuration file) the proxy server IP/Port and the client authentication information?

     

    Any comments appreciated and thanks in advance.


    Thursday, July 14, 2011 12:40 AM

Answers

All replies

  • This may relate to your question  http://social.msdn.microsoft.com/Forums/en-AU/wcf/thread/b877808b-66f3-45f1-bf42-3e1ac6d60c30

    I havent encountered this issue before, but looks to me NetTcp may have some issue with proxy server. 

    Here is a thread that talks about it and also mentioned some work around... this is bit old may be microsoft already covered this issue. 

    http://connect.microsoft.com/wcf/feedback/details/543853/wcf-nettcpbinding-does-not-work-when-wcf-client-is-behind-proxy

     


    Tanvir Huda Application Architect/Consultant
    • Proposed as answer by Tanvir Huda Thursday, July 14, 2011 11:25 PM
    • Marked as answer by Roger NZ Monday, July 18, 2011 3:02 AM
    Thursday, July 14, 2011 3:18 AM
  • Thanks Tanvir for your comments. I have went through the links you mentioned and following is the answer from MS Connect:

    Posted by Microsoft on 23/03/2010 at 11:00 a.m.

    Hi Karthik,
    At present there is no proxy support for NetTcpBinding. We do have an internal bug to track this for a future release though.  ...
      
    The above info is 16 months ago, Just wondering anyone from MS can update us the estimate date when the fix will be released.
    Thursday, July 14, 2011 9:54 PM
  • Hello, actually for ISA, as long as the client machine installs ISA client and lets ISA client to configure proxy server automatically, all network traffic (including NetTcpBinding) should work fine.
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
    Windows Azure Technical Forum Support Team Blog
    • Marked as answer by Roger NZ Monday, July 18, 2011 2:51 AM
    Friday, July 15, 2011 2:19 AM
  • Hello, actually for ISA, as long as the client machine installs ISA client and lets ISA client to configure proxy server automatically, all network traffic (including NetTcpBinding) should work fine.
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
    Windows Azure Technical Forum Support Team Blog


    Thanks for the help. We will try ISA client on Monday and update the result then.

    BTW, I asked the similar question on NetTcpRelayBinding in Windows Azure forum. Here is the link:

    http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/d1d76055-201d-453e-9d10-0e9eafda11bf




    Friday, July 15, 2011 7:03 AM
  • Hello, actually for ISA, as long as the client machine installs ISA client and lets ISA client to configure proxy server automatically, all network traffic (including NetTcpBinding) should work fine.
    Lante, shanaolanxing This posting is provided "AS IS" with no warranties, and confers no rights.
    Windows Azure Technical Forum Support Team Blog

    You have saved us Yi-Lun! It works after the ISA Firewall Client is installed and setup properly

    Just in case anyone else needs to apply the same solution, I would like to share two points for setting up the ISA Firewall Client:

    1.    In the configuration file it needs to specify ForceCredetials = 1 and use the “FwcCreds.exe” tool to store the username/password for the specified application on the machine that the WCF client app is running. Following is my test Application.ini. On windows 7 the configuration locates in “C:\Users\All Users\Microsoft\Firewall Client 2004” for service application.

    [MyWCFClientAppFileNameWithoutExtension]

     Disable=0

    Autodetection=1

    ForceCredentials=1

    2.    It needs to restart the PC to apply the configuration changes.

    More details regarding ISA client please reference “Internal Client Concepts in ISA Server 2006”:

    http://technet.microsoft.com/en-us/library/bb794762.aspx

    More info added:

    We did the above test on Windows 7 and it worked perfectly. But unfortunately we need to run the WCF client on Windows Server 2008 R2 core, but it seems that the ISA Client does NOT work on this OS.

     



    Monday, July 18, 2011 2:50 AM