【发布时间】:2014-04-10 15:16:14
【问题描述】:
你好,
我知道如何为 http 或 https 创建一个自托管的 wcf,但不是同时。
我想要这 2 个网址的 wcf:
- https://127.0.0.1:13070/ProxySips/
- http://127.0.0.1:13070/ProxySips/
目前我有 https 的配置(带有证书:makecert + netsh),它工作正常:
app.config
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicHttp" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="ProxySips_Wcf.Sips" behaviorConfiguration="ProxySips_Wcf.ProxySipsBehavior">
<host>
<baseAddresses>
<add baseAddress="https://127.0.0.1:13070/ProxySips/" />
</baseAddresses>
</host>
<endpoint address="" binding="basicHttpBinding"
bindingConfiguration="basicHttp"
contract="ProxySips_Wcf.ISips"/>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ProxySips_Wcf.ProxySipsBehavior">
<serviceMetadata httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="True" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
主持人
var serviceType = typeof(ProxySips_Wcf.Sips);
var host = new ServiceHost(serviceType);
host.Open();
可以帮我设置同一个地址的http版本吗?
非常感谢
【问题讨论】:
-
这个问题解决了吗?我试图弄清楚 WCF 是否可以同时在同一个 URI/端口上侦听 http 和 https。到目前为止,我还没有成功。
标签: wcf wcf-binding wcf-security