• 用.net开发wap


    原文发布时间为:2010-08-19 —— 来源于本人的百度文章 [由搬家工具导入]

    .NET 模板:http://download.csdn.net/source/2631001


    WAP应用程序结构

    首先你拥有一个Web应用,那么集成WAP服务就相当容易。
    你不必为原来的业务逻辑进行重新构建,而且如果你Web本身的应用就有分层的,那么扩展到WAP是很方便的。
    对于我们目前的应用,我们可以简单的认为是WEB应用的Mobile迁移。更多的是在UIUE上的调整。

    WAP采用什么标准

    1.XHTML Mobile 1.0(WAP2.0)
    Google Mobile
    wap.taobao.com
    3g.sina.com.cn

    2.WML1.1
    3g.qq.com
    wap.kong.net
    3g.sina.com.cn

    对比了一些网站WAP开发。google的Mobile应用都是基于XHTML Mobile1.0,也的确做的很优秀。其他很多WAP网站,都是支持WML1.1 和 XHTML Mobile 双标准的。

    采用.NET的封装控件,还是自定义WML标签

    .NET 中封装了一套移动开发组件。很遗憾在VS2008找不到Mobile开发模板(但支持Mobile开发)。.NET中的移动开发控件,会根据相应 的设备显示不同解析标准。比如发现是PIE访问,.NET自动返回的是XHTML Mobile1.0的标签,而如果是其他的(根据具体设置)可以返回WML的标签。这样的好处是自动根据设备的支持显示对应的标签。从开发的效率和容易度 来说,这样是最方便的。但从WAP站点的适应需求上,可控性自然就下降了。所以最后还是选择了传统的输出WML的方式进行处理。当然.NET也可以采用强 制输出WML的移动方式。请参考这篇文章:
    asp.net强制输出WML
    http://www.aspxclub.com/ContentView/4194/index.aspx

    WAP的Session问题

    Session 问题主要原因还是因为Cookie问题,如果一台设备不支持Cookie那么其实Session也是无法使用的。因为Server端最终还 是需要知道,客户端到底请求的是那一个SessionID。从目前的Web程序中,我们也可以看到,这个SessionID,其实就存储在Cookie 中,ASP.NET2.0默认存储的是ASP.NET_SessionId。这里要注意的是,如果用户没有使用过Session,在使用 SessionID时,其值是变化的。每刷新一次页面它就变化一次。
    .NET开发中MS考虑到客户端不支持Cookie的方式,MS通过在URL传递一个24位的值,来保存这个SessonID。
    .NET中提供一种更加友好的URL方式。“AutoDetect”,ASP.NET2.0中会自动判断客户端是否支持Cookie,如果不支持,将在URL中记录SessionID。经过这样处理,SESSION问题就得到了很好的解决。

    用户登录认证问题

    手机如何让用户默认登陆。仿效了目前很多WAP网站都在采用的token方式。产生一个令牌,通过这个令牌进行登录。当然用户可以选择退出来清空这个令牌程序。

    WAP计数统计

    手机对Javascript支持不够,能采用的方式还是通过img的方式。虽然“图片显示”可能被手机禁用
    期待google支持Mobile。
    目前个人感觉最好的还是Yahoo统计
    51.la因为有图片统计,所以也可以使用

    WAP的编码问题

    1:程序开发的编码设置有关。包括WebConfig的设置、PageCode等都要统一编码方式
    2:手机客户端的编码有关。只能通过服务端对特定的编码,进行解码来获得。
    具体可以参考我的下面的链接
    WAP编码问题一?
    WAP编码问题二

    IP、手机号判断问题

    手机号码被服务商屏蔽,所以大家就不要再Google、baidu 如何在WAP下获取手机号码了。
    因为WAP Getaway的问题,你无法确定IP是否可以用了做某些判断,比如城市。我们目前根据测试的结果,IP应该可以用来作为城市判断。

    WAP用户习惯
    1:翻页问题(下一页、上一页的简单换位给用户带来方便)
    2:Title问题(方便用户收藏,Mobile你不能让用户不断的点击和搜索)
    3:URL保存状态(正因为Cookie的失效,如果你希望用户在下次还能进入同一个页面,请多关注URL)

  • 相关阅读:
    三级菜单
    包的初识和进阶&异常处理
    常用模块一
    flask-script
    DBUtils
    Flask-WTForms
    Flask-SQLAchemy
    Flask
    scrapy-redis的使用和解析
    Django的信号;flask的信号;scrapy的信号;
  • 原文地址:https://www.cnblogs.com/handboy/p/7163994.html
Copyright © 2020-2023  润新知