我有一个silverlight 5应用程序,在我的web项目中有一个(非RIA)WCF服务。 当然它在我的机器上工作得很好;-) - Windows 7,但当我将它部署到我的开发服务器(带有.NET 4的WinServer2008,使用IIS 6)时,应用程序似乎无法完成加载 - 我得到了初始silverlight Loading ...然后我只有一个空白屏幕。我没有看到任何错误消息。
我认为问题可能是silveright应用程序假定WCF服务的端口与我的机器上的端口相同(46133)。
我看过网上的文章说你应该把ServiceReferences.ClientConfig中端点的地址设置为../Service.svc。如果我将其更改为此部署,则不会发生任何变化。
在Web项目的属性中,在Web选项卡上,我选中了Visual Studio Development Server,并且特定端口46133,Virtual Path = /
我认为已部署的站点仍在尝试使用端口46133,因为Fiddler为clientaccesspolicy.xml文件显示了502红色项目,并显示消息
[Fiddler]与localhost的套接字连接失败。
ErrorCode:10061。
由于目标机器主动拒绝它,因此无法建立连接127.0.0.1:46133
有什么建议吗?
这是ServiceReferences.ClientConfig文件:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="TransportCredentialOnly" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="../Service.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService" contract="ServiceReference1.IService"
name="BasicHttpBinding_IService" />
</client>
</system.serviceModel>
</configuration>
我的web.config是
<system.web>
<httpRuntime executionTimeout="180" />
<compilation debug="true" targetFramework="4.0" />
<customErrors mode="Off"/>
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpStreamingBinding" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647" transferMode="Streamed" receiveTimeout="01:00:00" sendTimeout="01:00:00">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" />
<!--<transport clientCredentialType="Windows" />-->
</security>
</binding>
</basicHttpBinding>
</bindings>
<client />
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment
multipleSiteBindingsEnabled="true" />
<services>
<service name="CitationAir.MissionPlanning.WebService.Service">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpStreamingBinding"
contract="CitationAir.MissionPlanning.WebService.IService" />
</service>
</services>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>