1

IIS でホストされている HTTP wcf があります。Androidエミュレーターを使用して、ローカルマシンでサービスを確認しました。ローカル マシンのエミュレータと wcf は正常に動作しています。

Web ブラウザーでは、次の URL を使用してサービスにアクセスできます。

 http://localhost:4806/Service1.svc

Androidエミュレーターでは、http://10.0.2.2:4806/Service1.svcAndroidを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から認証を取得したかったのです。ログインボタンを押すと、アプリケーションが停止し、差し押さえエラーが発生します。どんな助けでも、この点は素晴らしいでしょう. ありがとう

4

1 に答える 1

0

通常、Android クライアントからサービスにアクセスするために web.config を変更する必要はありません。

また、basicHttpBinding で十分だと思われる場合は、それが最適だと思います。通常の HTTPPost を使用して続行できます。

于 2013-09-04T07:28:28.340 に答える