c# - 构建完整的 Web 服务、网站和 iPhone 应用程序

标签 c# iphone asp.net web-services architecture

我正在尝试构建一个系统,该系统将拥有一个网站和一个 iPhone 应用程序,它们将由相同的数据驱动。我了解我将如何创建和构建网站,但在添加 iphone 应用程序时,我不确定它将如何应用。

我对设计的考虑:

-为网站使用 C#、SQL Server、asp.net(我会尽可能使用 Web 服务获取我的大部分数据)

-使用Objective-C、x-code等开发iphone应用

1.) 我是否需要公开一个网络服务供 iphone 与之交互?如果是这样,那是否会被视为与实际网站分开的网络应用程序?还是将网络服务内置于网站中,然后 iPhone 也可以与该网络服务交互?

2.) 在公开 Web 服务时,我需要考虑哪些安全方面的问题?

3.) 对于构建这样的系统还有其他架构建议吗?也许是个人在使用同一数据库运行网站/iphone 应用程序方面的经验。

最佳答案

  1. 是的,您需要为应用程序公开一个 web 服务以进行绑定(bind)/对话。我建议该服务作为一个单独的站点运行(例如 data.yourdomain.com,该站点将在 yourdomain.com 上运行),该网站也将其用于其数据。这样您就可以为两个“端点”(网站和应用)共享相同的架构。

  2. 确保您的网络服务在每次调用时都使用身份验证 token (用户名/密码或 oauth 等)将有助于防止对服务/数据库进行任何未经授权的调用。此外,确保您的服务通过有效的 HTTPS 连接(且仅限 https)公开,将防止嗅探数据以获取密码。

  3. 正如我在第 1 点中所说的那样,构建服务的方式与访问它的“端点”无关。这样一来,如果您添加一个 Android 应用程序或 Windows Phone 应用程序(甚至是第二个网站),您将不需要提供新服务。或许将每个应用程序“帐户”绑定(bind)到一个“端点类型”(例如 Android/iPhone/WinPhone/WebSite),这样您就可以根据需要自定义返回的数据对象。

关于c# - 构建完整的 Web 服务、网站和 iPhone 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11202195/

相关文章:

c# - 在 SSIS 中编写 C# 脚本来操作 Excel 工作表

c# - 共享和静态有什么区别?

c# - WCF 发布/订阅并使用回调向特定用户发送数据

Android/Iphone 设备数据在网络应用程序中的区别?

asp.net - Response.Redirect 不结束执行

c# - asp.net mvc 5异步 Action 方法

asp.net 未按配置显示自定义 404 页面

c# - 铿锵错误 : Linker Command Failed for Unity in Native

ios - 集成adobe Creative sdk后无法发布应用程序

iphone - Xcode 无法使用所选设备运行(奇怪的错误)