我应该使用什么技术来开发可从Windows Phone 7访问的Web服务

时间:2010-06-22 13:14:11

标签: web-services windows-phone-7

今天早上,我觉得很蠢。我创建了一个简单的WCF服务,只编译并运行默认的WCF服务应用程序(.NET 3.5)。然后我尝试向Windows Phone 7应用程序添加服务引用,但收到警告:

Custom tool warning: Endpoint 'WSHttpBinding_IService1' at address 'http://localhost:50133/Service1.svc' is not compatible with Silverlight 3. Skipping...

我为Windows Phone 7制作网络服务的“入门”指南的搜索似乎都结束了关于WCF RIA服务有多棒的文章以及它们对于Windows Phone不起作用的不幸之处7。

我的目标是在WCF服务中使用LINQ to SQL或Entity Framework来创建我的Windows Phone 7应用程序将访问的服务。此服务可以托管在共享托管服务提供商上,因此我几乎无法控制IIS设置,因此我甚至考虑制作.asmx服务。如果简单而且不昂贵,我也可以在Azure中托管它。

我知道这是一个相当主观的问题,但我应该走哪条路?构建Windows Phone 7应用程序“服务端”的最简单和推荐的方法是什么?如果它是WCF,我上面尝试的是什么问题?

5 个答案:

答案 0 :(得分:2)

第9频道上的动手实验室标题为“使用推送通知”,引导您创建WCF服务并使用Windows Phone 7 Silverlight应用程序连接到该服务。

您可以在http://channel9.msdn.com/learn/courses/WP7TrainingKit/WP7Silverlight/UsingPushNotificationsLab/

找到包含源代码的实验室

我同意约翰你可能只需要使用basicHttpBinding而不是wsHttpBinding。

答案 1 :(得分:1)

我强烈建议在WP7上使用OData。您可以从http://odata.org下载WP7 OData SDK开始。网上有很多编程资源和样本,包括

前2个是来自MIX10的特别有用的视频。

HTH!
克里斯

答案 2 :(得分:1)

我在这个主题上看到的最新指导是由Rob Tiffany在Tech Ed的WPH306演讲中提到的。

提供了一种非常直接的方法,提供了一些在移动平台提供的部分连接环境中运行的良好技术。

此外,还清楚地检查了使用JSON,OData,XML传输数据的相对优点。

ps:如果您想支持将WCF RIA服务引入WP7,请随时查看此post,如果您还没有。

答案 3 :(得分:0)

在.NET平台上只有一种技术可用于开发Web服务 - WCF。

您可能需要了解一下WCF而不是谷歌搜索。特别是,您可能只需要使用basicHttpBinding而不是wsHttpBinding(默认值)。除非你花时间了解绑定是什么,以及Silverlight支持哪些绑定,否则你永远不会找到它。

答案 4 :(得分:0)

您可以使用MVC 2网站和JSON响应为您的站点构建轻量级服务API,而无需WCF的开销或添加任何ClientAccess文件。

缺点是您需要复制代码以将响应序列化为Win Phone 7类库。我有一些full fledged examples of using an MVC 2 website包括authenticating requests using a key/secret architecture