Android项目中使用的WCF(FileNotFoundException)
我在c#中有一个简单的Web服务。 这是C#代码:
IService1.cs
[ServiceContract(ConfigurationName = "IService")] public interface IService1 { [OperationContract] [WebGet] string TestAndroid(); }
Service1.svc.cs
public class Service1 : IService1 { public string TestAndroid() { return "Test done !"; } }
这是Android代码:
protected Boolean doInBackground(String... urls) { try { URL url = new URL("http://10.0.2.2:49363/Service1.svc/TestAndroid"); InputStream in = new BufferedInputStream(httpURLConnection.getInputStream()); BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); String line = reader.readLine(); reader.close(); } catch(Exception e){ return false; } return null; }
当我想读取InputStream时,我有一个错误。
它的
java.io.FileNotFoundException: http : //10.0.2.2 : 49363 / Service1.svc / TestAndroid
我不知道问题出在哪里,因为当我进入浏览器时,我有
Test done !
有人能帮我吗 ?
我希望你的服务正常工作,你已经通过调用url在你的计算机上测试了它http://10.0.2.2:49363/Service1.svc/TestAndroid我是对的吗?
然后,您的问题的简单解释是您的Android不知道IP地址10.0.2.2。
你能证实可以访问吗? 只需尝试在Android设备上的浏览器中打开相同的url即可。
查看此IP地址的简单解决方案 – 您的手机应与计算机位于同一WiFi上。
更新:目标是查看运行WCF主机的服务的计算机。 问题是 – Android设备可以看到WCF主机吗?
相反的方向是无关紧要的,但很高兴知道从计算机上看不到Android模拟器。 这是很好的解释
- 在暂停时如何让活动对本地广播作出反应?
- 自定义RecyclerAdapter和startActivityForResult
- android java.io.File.fixSlashes(File.java:185)
- 如何在实现Parcelable时对ArrayList进行排序
- 在AsyncTask的情况下,在doInBackground()方法之前调用onPostExecute()
- 没有解密我加密的内容
- 如何在android中安排一些代码执行或者:android中的守护程序线程究竟是什么?
- BitmapFactory.decodeByteArray()始终返回null(手动创建的字节数组)
- 在没有光标的Android Sqlite中访问大型BLOB