我有一个WP8应用程序,它调用我的IIS中托管的WCF服务中的一些方法。 如果我重新启动服务器,尝试从WP8连接我的服务时收到错误。
The remote server returned an error: NotFound.
最有趣的是:当我从WP8打开我的IE并输入服务的地址时,页面上写着:“你已经创建了一个服务”,这意味着该服务运行正常。
我找到了再次访问我的服务的方法:从WP 8.1模拟器运行我的应用程序,连接到服务,然后再次从我的设备访问我的服务!
这是我的app.config服务:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="basicBinding" maxReceivedMessageSize="2147483647"/>
</basicHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="Metadata" name="WCFDataLibrary.EnvioDados">
<endpoint address="basic" binding="basicHttpBinding" bindingConfiguration="basicBinding" contract="WCFDataLibrary.IEnvioDados" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://vm-2008-srv/WCFDataService/EnvioDados" />
</baseAddresses>
</host>
<!--<identity>
<dns />
</identity>-->
</service>
</services>
<behaviors>
<serviceBehaviors>
<!--<behavior name="">
<serviceMetadata httpGetEnabled="true" />
</behavior>-->
<behavior name="Metadata">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://vm-2008-srv/WCFDataService/meta" />
</behavior>
</serviceBehaviors>
</behaviors>
这是我的客户端ServicesReference.clientConfig:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IEnvioDados" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://10.120.186.164/WCFDataService/EnvioDados/basic"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IEnvioDados"
contract="EnvioDadosService.IEnvioDados" name="BasicHttpBinding_IEnvioDados" />
</client>
我的应用只需要访问内部网,这就是我使用私有IP的原因!
为什么在从我的模拟器访问服务后,我无法从客户端访问我的服务?
此致