在Android应用程序中调用WCF

时间:2013-05-30 09:29:28

标签: android asp.net wcf

我是WCF的新手 我创建了WCF,它从数据库中检索数据,这将通过asp.net应用程序执行

现在,我想在我的Android应用程序中使用此WCF 任何人都可以告诉我该怎么做?

我有学习,但我对SOAP和REST没什么暗示。

那么哪个对我更合适?任何人都可以给我提示或代码吗? 我需要准备好工作代码片段

    URI uri = null;
    try {
        uri = new URI("http://localhost:3997/AWS_WCF_Service.svc");
    } catch (URISyntaxException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    HttpGet httpget = new HttpGet(uri + "/SayHello");
    httpget.setHeader("Accept", "application/json");
    httpget.setHeader("Content-type", "application/json; charset=utf-8");        
    HttpResponse response = null;   
response = httpClient.execute(httpget);

感谢YOu

1 个答案:

答案 0 :(得分:0)

具体取决于您使用的是哪个版本的ASP.Net,但是您需要使用Web应用程序使用服务公开您的WCF对象。如果您使用的是4.0,则SOAP或REST服务是选项(Web服务或WebAPI服务)。如果你想就他们各自的优点进行哲学辩论,这可能是一个开始的地方:SOAP or REST for Web Services?,但既然两者都可以返回JSON,那么对你的Android应用程序来说可能都没问题。

我自己有.Net 3.5所以我大多使用Web服务版本(带.asmx文件),并发现以下链接非常有用:

Android -- How to access data in an ASP.NET database via app?

该线程上接受的答案让我在一个下午设置了基本的Web服务和小型Android应用程序! (这无疑是我对两者都知之甚少)

如果你想要一个RESTful服务并且你有.Net 4.0,我怀疑你可以通过关于这个主题的教程(比如这个http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api)来实现你的目标,然后使用链接中的Android代码上方。

(使用返回JSON的ASP.Net服务时要记住的一点是,返回的对象将被包装在一个名为“d”的对象中 - 请参阅Why do ASP.NET JSON web services return the result in 'd'?。我没有使用XML所以我不喜欢不知道该格式是否有任何问题。)