WCF on Win Server 2008 and IIS7 with only net.tcp binding hide IIS features - wcf

I've installed HTTP Activation and Non-HTTP Activation IIS's features for Framework.NET 3.0 under WCF Activation feature.
I'm trying to remove http and https bindings (under default Web Site) from IIS Manager and leave others (net.tcp, net.msmq, etc.) but if I close and re-open IIS manager I not found any icons in the right panel (Feature View). The only feature I see is IIS Manager Permissions.
It's right I don't see them?
I hope you can help me.
Thank you in advance!

Actually if you only use non HTTP activation, you don't need IIS Manager any more. IIS Manager is designed for HTTP web sites and FTP sites.

Related

What is the purpose of the WCF Activation feature?

I create a WCF service in Visual Studio 2013 and publish it to IIS. I can the add a service reference in another project and consume methods on the service. When I go to the IIS Server Manager I see WCF Activation and its two sub-items (HTTP Activation and Non-HTTP Activation) unchecked.
What are these features and how does my WCF site work without them enabled? I've looked around the web quite a bit and haven't found any definitive answers. Thanks.
Before IIS 7.0 you could only host HTTP services on IIS. If you wanted to use non-HTTP protocols (e.g. net.tcp) you had to self-host. Microsoft introduced the Windows Process Activation Service (WAS) to allow common hosting within IIS regardless of the communications protocol being used.
In practical terms, one of the neat features of this is that you can host your net.tcp WCF services on IIS and they will be dynamically activated once traffic starts arriving. Previously you had to have your service running (console app, Windows Service or whatever) before messages began arriving.
Further details can be found in this MSDN article.
If you are just running WCF services using the HTTP protocol and have those services hosted in a IIS web site, the default configuration will just work.

WCF http activation without IIS

Is it possible to enable HTTP components for WCF without installing IIS. When i try to enable the HTTP components on windows server 2008 it forces me to enable the web server components.
Is there a workaround by not installing webserver.
(any solution other than self hosting or windows service)
thanks
Ben
WCF services can be hosted in any managed .NET application, not only IIS. You can either host it inside a windows service, or create a standard .NET executable to host the service (self-hosting). You can configure your end point to http eventhough the WCF is hosted outside IIS.
Check this article for more insight:
Hosting and Consuming WCF Services

Enable net.tcp protocol from Web.config

I have WCF service that has http and net.tcp endpoints. I have deployed the service to IIS 7.5 (Server 2008R2), everything is working good.
My question is this, is there a way to set enabled protocols for the IIS application through Web.config?? Right now I have to go to the Application in IIS and manually change the Advanced settings and add net.tcp to the list of available protocols before the service can be activated, see pic for the screenshot.
No, this setting isn't available via web.config. It can be set either via the IIS Manager as you're doing, or via the AppCmd.exe command-line utility, as in the example below:
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/FirstWcfHost" /enabledProtocols:http,net.tcp
No, this is not a web-scoped setting. It is web application (app pool) scoped one, so it is in the applicationHost.config file.

Host WCF in IIS 7 using net.tcp binding

I am hosting a WCF service in IIS 7 through net.tcp binding. I have two questions about IIS configuration.
Can I only configure net.tcp protocol in the the web site containing my service code? All the samples I found so far always append the net.tcp protocol after http protocol.
There are two features we can turn on: Windows Communication Foundation Http Activation and Windows Communication Foundation Non-Http Activation. Some sample state that we need to turn on Non-Http activation and others state that both are required to turn on. My test shows that both are required. However, I do not understand the difference between the two. If only net.tcp protocol is used by my service and client, why should Http Activation be required?
Even if your service is net.tcp the meta data exchange that is used when you add a service reference may be http.
Which tests did you do? If you need more help post your config file.

Is it possible to host a TCP endpoint in an IIS6 hosted service?

I created a wcf service based on ServiceHostFactory, and i'm hosting it in IIS6.
If i use a HTTP endpoint everything works just fine, but when i try to switch to TCP it goes bad.
Is it even possible to do this in II6?
I have a more specific question posted here, that asks for a solution, but i would be happy with (for starters if not) with just an answer (and perhaps an example) to this - less specific question.
Why can't I connect to a WCF service with net.tcp but i can with http?
IIS 5.1 and IIS 6 can only host HTTP bindings. IIS7 has WAS (Windows Activation Service) which allows hosting of endpoints bound to any transport protocol... so it would be capable of TCP.
If you must host with IIS 6, then you're stuck with the HTTP bindings. If not, consider self-hosting in a Windows Service.