我有一个带有以下 app.config 文件的 WCF 控制台应用程序
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<netNamedPipeBinding>
<binding name="namedPipeBindingConfig" maxBufferPoolSize="268435456" maxBufferSize="16777216" maxReceivedMessageSize="16777216" />
</netNamedPipeBinding>
</bindings>
<services>
<service behaviorConfiguration="serviceBehavior" name="MyTestNamespace.MyTestClassService">
<endpoint address="net.pipe://localhost/MyService"
binding="netNamedPipeBinding" bindingConfiguration="namedPipeBindingConfig"
name="NamedPipeBinding" contract="MyTestNamespace.IMyTestContract" />
</service>
</services>
</system.serviceModel>
</configuration>
我将它作为控制台应用程序托管(接口、实现和托管类都在一个项目中),基本上是这样做的:
ServiceHost host = new ServiceHost(typeof(MyTestClassService));
host.Open();
我从命令提示符“C:\SomePath\>RunMyService.exe”运行,它启动并运行良好。现在,我计划在 IIS 7 中托管它,但我没有找到任何关于如何在此处部署这个(特别是控制台应用程序)的好例子。我的几个问题是:
1)我需要在IIS中“添加网站”或“添加应用程序”并将我的文件放在那里吗?
2) 我需要一个 .svc 文件吗?如果是,它必须包含什么以及如何告诉它启动这个控制台应用程序。
3) 这个控制台应用程序会在 IIS 中运行吗?这是如何运作的 ?