WCF - 主“路由器”

问题描述:

我的任务是为移动设备创建一个应用程序(如iphone/android/BB /等..),这个应用程序的目的是告诉用户网站上有新的东西然后显示一个列表(在应用程序内)显示最新的更新。WCF - 主“路由器”

公司坚持使用ASP.NET/C#/Visual Studio并使用SOAP协议。

我已经开始使用C#,然后使用所谓的WCF。

我已经有一些东西的工作。 (就像从Android应用程序中“消费”WCF并获取数据一样)。

我的问题是与移动应用程序开发合作的最佳“架构”。我在考虑只有1个WCF,然后调用一个像Do()(或其他名称:)这样的通用函数),然后添加一个肥皂标题,您可以在其中定义您想要的服务待办事项。就像从数据库中,或平,呃别的东西,不管该公司可能需要在未来:)获得创纪录的

这将如何工作:

客户(移动应用)将作出的呼叫WCF,并在肥皂头是状态,可以说,它想要使用设备ID注册手机。 WCF将收到肥皂请求,提取标题并使用某种开关来决定它需要的东西。例如,一旦它知道要做WCF,就可以访问一些本地类来插入/检索数据库数据或者做其他事情,当它完成时它将简单地返回所需的内容。 (像一个OK标志或数据或其他东西.. :))。

这是一个正确的方法,导致我如何看待这一点,它使得后端更改非常容易,无需更新应用程序。

对不起,如果这是一个迟钝的问题,但我是WCF和移动应用程序开发的新手,并且我试图在实习结束时提供一个很棒的产品。我只是想知道你们建议我用什么样的“架构”来完成这种任务。


编辑

我已经告诉他们,SOAP是用于移动开发太重,它们显示出一些图表。但他们坚持使用他们已知的技术。

经过一番研究,我确实认为基于合同的方法是更好的方法。但是,你可以回答一些关于它的问题吗?

-Can我有一个WCF文件,获取“消耗”,其中包含所有不同的操作?

- 我可以在WCF的开头验证客户端(使用Soap头文件),然后调用所需的操作?

+0

这可能有点主观,你可能会删除问候,谢谢和其他绒毛 – sylvanaar

SOAP通常被认为对于移动开发来说太重了。由于用户可能会收取数据费用并且一般具有较低的带宽,因此采用REST/JSON方法会更好。您仍然可以使用WCF在服务器上执行此操作。

您可以使用通用操作(MessageAction =“*”),但您需要自己处理消息的序列化/反序列化。然而,除非你有这样的理由,否则我会建议适当结构化的操作是更好的方法。它们更易于维护。只要消息协定没有改变,您仍然可以在服务器上进行实施更改而不影响客户端。事实是,如果你想改变消息或操作合同,你将不得不对客户进行修改。考虑到这一点后,基于“合同”的方法只有上升空间,并没有真正的缺点。