WCF服务在IIS中托管后停止发送Web请求

时间:2010-03-11 01:39:25

标签: wcf iis

我有一个WCF服务,它接收来自silverlight客户端的查询并将查询发送到Search API(Bing或Google),处理搜索结果以将其返回给silverlight客户端。

在Visual Studio中可以找到所有内容。

在IIS中发布服务后,我可以访问服务端点和silverlight客户端以与服务进行通信。但是,该服务不会向Search API发送任何查询。我打开Fiddler监控流量。没有Web请求发送到搜索API。

我忽略了IIS或防火墙中的任何设置吗?

web.config附在下面:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>  
<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior name="SiteRankerBehavior">
                <serviceMetadata httpGetEnabled="true" />
                <serviceDebug includeExceptionDetailInFaults="true" />                  
            </behavior>              
        </serviceBehaviors>
    </behaviors>
    <services>
        <service behaviorConfiguration="SiteRankerBehavior" name="SiteDiscovery.SiteRanker">
            <endpoint address="" binding="basicHttpBinding" contract="SiteDiscovery.ISiteRanker">                   
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        </service>
    </services>
</system.serviceModel>

    
       

由于 萨拉

1 个答案:

答案 0 :(得分:0)

好的,我发现解决方案here完全解决了我的问题。基本上,我需要将以下内容添加到web.config,一切正常。

<system.net>
    <defaultProxy>
        <proxy usessystemdefault="False" proxyaddress="http://your-proxy-name.domain.com:port-number-if-any" bypassonlocal="True" autoDetect="False" /> 
    </defaultProxy>
</system.net>

为什么它在Visual Studio中工作对我来说仍然是个谜。严格地说,如果Fiddler同时运行,它在Visual Studio中可以使用。