我正在开发WCF服务和Windows Phone客户端应用程序中的解决方案。问题是当我在Internet Explorer中键入服务地址时,即使在模拟器中也无法连接到服务我得到了正确的结果。 我的配置文件:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyCustomService"
maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647"
enableHttpCookieContainer="true"
/>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:2395/MyCustomService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyCustomService"
contract="MyService.IMyCustomService" name="BasicHttpBinding_IMyCustomService" />
</client>
</system.serviceModel>
</configuration>
我的服务界面:
[ServiceContract]
[ServiceKnownType(typeof(CustomResponse))]
public interface IMyCustomService
{
[OperationContract]
CustomResponse GetData();
}
我的问题是每次我尝试调用客户端代理GetDataAsync()方法时,完成的事件都没有启动,我得到“EndpointNotFoundException”。我已经尝试了我找到的所有解决方案,但没有一个能帮助我。我也尝试制作WPF测试客户端,它可以正常工作,但Windows Phone应用程序没有。
答案 0 :(得分:2)
我认为这是您的客户端配置,例如电话。您指向localhost,但由于您在电话上的模拟器中localhost解析为相同的,而不是您托管服务的PC。
address="http://localhost:2395/MyCustomService.svc"
将您的PC主机名放在那里,你应该没事的
答案 1 :(得分:0)