IIS でホストされている HTTP wcf があります。Androidエミュレーターを使用して、ローカルマシンでサービスを確認しました。ローカル マシンのエミュレータと wcf は正常に動作しています。
Web ブラウザーでは、次の URL を使用してサービスにアクセスできます。
http://localhost:4806/Service1.svc
Androidエミュレーターでは、http://10.0.2.2:4806/Service1.svc
Androidをwcfに正常に接続するために使用しています。
Androidデバイスを使用してPC上のwcfにアクセスしたいと思いました。どうやってやるの?web.config ファイルを変更する必要はありますか? それはweb.configファイルコードです
<service name="JSONService.Service1" behaviorConfiguration="JSONService.Service1Behavior">
<!-- Service Endpoints -->
<!--Change the binding to webHttpBinding and set behaviour configuratiion to web-->
<endpoint address="" binding="webHttpBinding" contract="JSONService.IService1" behaviorConfiguration="web" >
<!--
Upon deployment, the following identity element should be removed or replaced to reflect the
identity under which the deployed service runs. If removed, WCF will infer an appropriate identity
automatically.
-->
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="JSONService.Service1Behavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<!--Newly added configuration-->
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
<!--End of newly added Configuration-->
</behaviors>
手伝ってくれてありがとう。
編集:
このようにPCのIPを利用しhttp://192.168.1.67:4806/Service1.svc
てwindowsfirewall 4806でポートを開放してみました。Android端末からログインしてPC上で動作しているwcfから認証を取得したかったのです。ログインボタンを押すと、アプリケーションが停止し、差し押さえエラーが発生します。どんな助けでも、この点は素晴らしいでしょう. ありがとう