C# WCF无文件配置
我似乎陷入了困境。我的IIS网站为HTTP打开了多个端口(80和8080,不幸的是我无法更改),我只想将WCF服务公开为net.tcp。以下是相关的配置区域:C# WCF无文件配置,c#,wcf,tcp,C#,Wcf,Tcp,我似乎陷入了困境。我的IIS网站为HTTP打开了多个端口(80和8080,不幸的是我无法更改),我只想将WCF服务公开为net.tcp。以下是相关的配置区域: <protocolMapping> <clear /> <!--<add scheme="http" binding="basicHttpBinding" />--> <add scheme="net.tcp" binding="netTcpBinding" /> &
<protocolMapping>
<clear />
<!--<add scheme="http" binding="basicHttpBinding" />-->
<add scheme="net.tcp" binding="netTcpBinding" />
</protocolMapping>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
<baseAddressPrefixFilters>
<!--<add prefix="http://CustomName:8080" />-->
<add prefix="net.tcp://CustomName:8083" />
</baseAddressPrefixFilters>
<serviceActivations>
<add relativeAddress="MyService.svc" service="Namespace.MyServiceClass" />
...
</serviceActivations>
</serviceHostingEnvironment>
这有什么帮助吗?还是这个?瓦拉马斯,这些链接基本上提到了我的尝试。我想我不明白为什么为HTTP指定
baseAddressPrefixFilters
和multipleSiteBindingsEnabled=“false”
都不起作用。如果这起作用,那么我会更接近,但WSDL可能会公开我不想要的HTTP端点。因为我们只在内部使用此服务,所以我能够在没有正确WSDL的情况下逃脱,并且对于面向公众的服务userequestheadersformetadataddress
可能已经足够接近了,但我会把这个问题留给别人,以防有人能解决这个问题。
<useRequestHeadersForMetadataAddress>
<defaultPorts>
<add scheme="net.tcp" port="8083" />
</defaultPorts>
</useRequestHeadersForMetadataAddress>