gpt4 book ai didi

c# - 多设备架构

转载 作者:太空狗 更新时间:2023-10-29 23:26:09 24 4
gpt4 key购买 nike

我目前正在尝试为我的多设备项目构建一个“核心”。

该项目是关于一个 Web 应用程序的,它通过 Facebook 登录验证用户身份,然后公开他们可以执行的一组新操作 - 例如。获取数据库中与他们的 facebook id 等相关的所有记录。

核心应该被以下设备理解:

  • 电脑
  • 苹果手机
  • 安卓
  • Windows Phone 7

现在您将如何构成核心?

  1. 你能不能让它成为一个 WCF 服务返回 JSON?

  2. 你会把它变成一堆吗返回 JSON 的 Controller ?

  3. 您将如何确保用户是他/她在查询时所说的人核心?我应该通过facebook每次生成的accessToken?

您可能已经注意到,我完全不知道该怎么做。

提前致谢。

最佳答案

不确定我是否正确理解你的问题,但是......

首先,您必须定义或可能决定“核心”是什么?或者核心应该是什么——核心将执行什么功能。理想情况下,当我们说核心时,它本质上意味着一个执行基本或原子操作的层

例如,在该核心上,您可以生成设备包装器(iPhone、PC 等)来构建要发送到核心的查询。

可以使用WCF Data Service来构成数据层。您的核心可以执行业务操作等,并与数据服务通信。

比如我瞬间想到的是:

  1. 一个核心,执行核心操作——例如与数据层对话
  2. DeviceWrapper(DeviceAndriod、DeviceIPhone、DeviceWeb 等),用于包装不同的设备。例如,工厂/ builder 模式的混合。考虑 Device 的工厂,以及 View 类型的 Builder。
  3. TextRenderer,根据设备设置呈现文本。

一种方法可能是,让我们决定:

Core 将是一个执行基本操作的“库”:

  • 身份验证
  • 授权
  • 选择记录
  • 执行操作 1
  • 执行操作 2

因此,

  • 第 1 步:编写一个将提供身份验证/授权的 Controller ;例如,调用 Core.Authenticate()Authorize();

  • 第 2 步:基于 user agent调用 ICore.RenderView(agentType),这可能会返回要呈现的 View /html。

用户可以执行一个 Action ,你的 Controller 可以调用Core.PerformAction();例如,这反过来可能会返回指向要重定向的页面的链接。

--更新--

此更新是对您的评论的回应。

现在,在这个(您的评论)案例中,您谈论的是客户端端。

让我们清理一下。有服务器,也有客户端

到目前为止,我们讨论的是服务器端,主要涉及:

  1. 服务器将如何处理来自不同用户代理的请求。
  2. 文本在不同设备上的呈现方式。

客户端可以是:

  1. 网络浏览器,在这种情况下您不需要开发任何客户端应用
  2. 比方说,Windows Phone 的 Silverlight 应用
  3. 适用于 Android 手机的 android 应用
  4. 依此类推。

决定这个“客户端应用程序”将做什么。例如,在您的情况下:

  • 用户应通过 fb id 登录。
  • 用户应能够执行某些操作。

请注意,您可能需要考虑智能客户端(使用网络服务,而不是 asp.net 网页)。

另外,type hinting在 WCF 中可以在大型集合的 JSON 响应中添加大量不必要的开销。因此,如果您甚至有点相信您在某个时间点可能需要多种类型的端点(SOAP 等),那么 WCF 就是您的不二之选。

关于c# - 多设备架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com