首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5 web应用-选择服务器端技术

HTML5 web应用-选择服务器端技术
EN

Stack Overflow用户
提问于 2012-03-08 09:45:31
回答 4查看 2.6K关注 0票数 9

现在,我正在为一个简单的跨平台移动应用程序选择技术。目标系统基本上是iOS、Windows 7.5和Windows8。在第一步,它将是一个本地无线局域网应用程序。

有一些现有的服务器(使用.net / WCF)拥有我想要显示的所有数据。该应用程序将每隔几秒钟轮询一次,并对数据进行实时查看。我不会直接访问数据服务器,但必须在两者之间创建自己的应用服务器。

对于客户机,我选择了HTML5、CSS、JavaScript (JQuery)方法来使其在任何现代浏览器中运行。所以我得通过http联系。

我的问题是,我的应用程序的服务器端使用哪种技术。我必须接收http请求,从另一个服务器获取数据(最多是通过WCF),并以xml或html的形式发送给客户端。(我不太确定服务器或客户端是否必须将xml数据转换为html)

在网上搜索,我想出了两种可能的方法:

  • ASP.net
  • 使用WCF构建自己的简单http服务器

查看一些ASP.net文档和示例,我得到的印象是,它的工作方式就像我从PHP中了解到的那样.(客户端发送请求,服务器运行脚本/程序,服务器发送响应,程序终止)我不能将对象保存在内存中,并运行独立于客户端请求的代码。或者至少它不是设计成那样的。对吗?

这将迫使我构建我自己的非常简单的服务器,它可以响应一些特定的http请求。

所以我的问题是:

  • 我对ASP.net的假设正确吗?还是我出了什么问题?
  • 会有自己的http服务器要走的路吗?
  • 您能推荐其他方法(在微软/ .net世界中)吗?

提前谢谢..。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-04-12 11:34:41

有无数的网络技术可以做到这一点,但对我来说最突出的是:

有一些现有的服务器(使用.net / WCF)拥有我想要显示的所有数据。

因此,您已经有了.net,我不禁认为,从.net/WCF服务器获取数据的最快方法是使用.net/WCF客户端。

仅出于这个原因,我就会使用asp.net MVC。为您提供了一条快速、简便的获取数据的途径,同时在处理"V“部分(直接的HTML页面、带有xml数据的ajax或json等)方面给您留下了很大的灵活性。

就在上个月,Apache2.0开源许可下发布了asp.net mvc。

对于您的用例,我将远离asp.net webform和asp.net ajax。

编辑:

我不能将对象保存在内存中,不能独立于客户端请求运行代码。或者至少它不是设计成那样的。对吗?

ASP.net (就像许多应用服务器一样)具有可以存储数据的会话和应用程序范围。您还可以创建后台线程来执行标准请求->响应生命周期之外的工作。

票数 2
EN

Stack Overflow用户

发布于 2012-04-12 08:45:45

您可以查看Ajax推送引擎,因为应用程序需要轮询。它建立在javascript的基础上,其功能类似于Comet服务器。

或者,您也可以使用其中一个付费服务进行推送(这样您就不必为服务器技术操心太多了)。

1) 推手

( pusher主页: Pusher是一个托管API,用于快速、方便和安全地向web和移动应用程序添加可伸缩的实时功能。)

2) UrbanAirship

正如@Fabio所提到的,Python旋风也可以作为轮询使用。它是一个彗星服务器,许多实时web应用程序都建立在此基础上。在使用NodeJs进行轮询时,有许多教程可用。一个简单的google搜索让我找到了这个文章。

票数 3
EN

Stack Overflow用户

发布于 2012-04-12 11:48:20

通过移动设备访问数据的代价将很高。因此,我更愿意使用JSON / XML通过有线方式发送数据。将与RESTful方法一起使用WCF Restful服务 / ASP.NET网络API检索.NET堆栈中的数据。此外,如果您要考虑电池的使用,您应该避免轮询,应该使用信令框架。在.NET堆栈中,我们有SignalR来完成这个任务。这将在新数据可用时通知客户端,客户端将启动一个新请求来获取数据。

如果您想尝试新技术,我建议在服务器端使用node.jssocket.io从客户端进行通信以实现信令逻辑。此外,我更喜欢使用phone gap & javascript编写客户机应用程序,这样就可以轻松地将其移植到各种平台上。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9615569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档