1

我是 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);

谢谢你

4

1 回答 1

0

具体如何可能取决于您使用的 ASP.Net 版本,但您需要您的 Web 应用程序使用服务公开您的 WCF 对象。如果您使用的是 4.0,则可选择 SOAP 或 REST 服务(Web 服务或 WebAPI 服务)。如果您想就它们各自的优点进行哲学辩论,这可能是一个起点:Web 服务的 SOAP 还是 REST?,但由于两者都可以返回 JSON,因此对于您的 Android 应用程序可能都适用。

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

Android -- 如何通过应用程序访问 ASP.NET 数据库中的数据?

该线程上接受的答案让我在一个下午就设置了一个基本的 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,所以我不知道该格式是否有任何问题。)

于 2013-08-26T21:10:59.383 回答