如何在远程Android设备上使用IIS托管WCF

时间:2013-09-04 07:12:09

标签: c# android wcf iis

我在IIS上托管了一个HTTP wcf。我使用Android模拟器在本地机器上检查了服务。本地机器上的模拟器和wcf工作正常。

在webbrowser中,我可以使用以下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>

感谢您的帮助。

编辑:

我尝试使用像这样http://192.168.1.67:4806/Service1.svc的PC的IP,并在windowsfirewall 4806中打开一个端口。我想从Android设备登录并从在PC上运行的wcf获取身份验证。现在,当我按下登录按钮时,应用程序停止并给出错误取消关闭。这方面的任何帮助都会很棒。感谢

1 个答案:

答案 0 :(得分:0)

通常,您不需要在web.config中进行任何更改,即可从Android客户端访问该服务。

如果您认为basicHttpBinding就足够了,我想这对您最有效。您可以使用普通的HTTPPost继续。