我的服务(TCP)之前在IIS7中安装了bin,这是对它的要求:
Internet Information Services
- Web Management Tools (all)
- Wold Wide Web Services
-- Application Development Features (all - CGI)
-- Common Http Features (all)
-- Health and Diagnostics
--- HTTP Logging
--- Request Monitor
-- Performance Features
--- Static Content Compression
-- Security
--- Basic Authentication
--- Client Certificate Mapping Authentication
--- IIS Client Certificate Mapping Authentication
--- Request Filtering
--- URL Authorization
--- Windows Authentication
Microsoft .NET framework 3.0
- Windows Communication Foundation HTTP Activation (for WAS)
- Windows Communication Foundation Non-HTTP Activation
Windows Process Activation Service
- .NET Environment
- Configuration APIs
- Process Model
现在我已经更改为.NET WCF Selfhost,这让我想知道需要哪些组件?我是否可以删除Internet信息服务和Windows进程激活服务?
我是否需要保留.NET框架X.0?
答案 0 :(得分:2)
WCF Self Hosting绝对不需要IIS或任何其他服务。它只需要支持WCF的.NET Framework版本(3.5及更高版本)。 TCPBinding支持各种功能,包括可靠性,事务和安全性。
<强>框架强> - .Net 3.5或以上。
安全强> - 基本/ Windows身份验证。
使用强>
- 创建代理(svcutil / Channelfactory)足以访问Selfhosted wcf服务。
<强>其他强> - 不需要IIS或任何其他服务
希望这有帮助.. here
答案 1 :(得分:1)
是的,WCF自托管意味着自托管。您不依赖于IIS或WPA。
看看this link on msdn。您可以使用第8点中提到的ServiceHost来创建实际的托管组件。
以下是将WCF服务作为HTTP服务自托管的代码段。
var baseAddress = new Uri("http://localhost:3124/");
var host = new WebServiceHost(typeof(SSOUser), baseAddress);
var sep = host.AddServiceEndpoint(typeof(ISSOUser), new WebHttpBinding(), "");
sep.Behaviors.Add(new WebHttpBehavior());
host.Open();
与IIS托管等相比,您可能会错过的是,您需要将服务主机放在正在运行的应用程序或Windows服务中,以使其连续监听端点。但这可能不会让你感到惊讶:)
答案 2 :(得分:0)
任何添加组件。 wcf selfhost只需要框架3 / 3.5 / 4 / 4.5