【发布时间】:2012-01-30 08:04:33
【问题描述】:
我正在尝试将用 WCF 编写的 web 服务公开给开放的互联网,但我无法将其配置为从外部 url 使用。
网络服务在https://ourportal.internaldomain.intra:9011/FrontEndWS 内部托管并且运行良好。我们已经在https://www.internetdomain.com.mt/FrontEndWS 上公开了 web 服务,但是当从外部地址访问它时,soap URL 仍然指向内部地址。
我们的设置如下。我们不需要在内部公开 web 服务,只需要在互联网上公开,这样可以简化配置。
<bindings>
<basicHttpBinding>
<binding name="LargeMessagingBinding" maxBufferSize="99999900" maxBufferPoolSize="524288000" maxReceivedMessageSize="99999900">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="99999900" maxBytesPerRead="99999900" maxNameTableCharCount="2147483647" />
<security>
<transport clientCredentialType="Basic" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="6553600" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false" multipleSiteBindingsEnabled="false" />
【问题讨论】:
-
您的机器上有多个网卡吗?您是否尝试为您的服务指定基地址?
-
您的配置中没有
<services>标记 - 您没有定义任何服务..... -
@hasam khan - 两个问题都否。
-
@marc_s - 我是否将外部 URL 放在服务标签中?
-
嗯 - 是的 - 您需要定义如何使用 (A) 地址、(B) 索引、(C) 合同从外部世界访问您的服务WCF....
标签: asp.net wcf web-services wcf-binding