WCF自托管所需的组件?

时间:2013-01-14 13:30:48

标签: c# .net installation

我的服务(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?

3 个答案:

答案 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