今天早上,我觉得很蠢。我创建了一个简单的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,我上面尝试的是什么问题?
答案 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。