正文

一个与联通的WAP接口2008-10-02 17:31:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/38648.html

分享到:

  最近ASP.NET WAP开发的一些情况! 最近要做一个与联通的WAP接口我选择用ASP.NET开发,ASP.NET开发WAP站点,实在简单,就是一个移动控件的运用,根本不用懂WML语法.唯一不同的,就是一个ASPX文件可以支持多个FORM,不同FORM之间可以切换,最后ASP.NET根据访问的设备,输出不同的内容,如果用IE访问就输出HTML,手机访问,输出WML,不过在开发过程中也遇到了很多问题,一些问题总结如下:1.模拟器选择:    WINWAP,    M3Gate,    UP.SDK4.0,(推荐)    OPenWave 5.0 (测试时需要),    OPenWave6.2, (IIS 6.0应用,IIS5.0可能显示,但会有问题)    CheckCom WAPBrowser 3.2模拟器问题:    ASP.NET把一些常有的模拟器,的配制信息用正则表达式写在Machine.config里    在上述的模拟器中,我只有UP.SDK4.0,OPenWave 5.0,他们只是一个公司的产品:    需要下载,配制文件驱动更新:现在最新版本是:Device 4下载请到这里下载:http://www.microsoft.com/downloads/details.aspx?FamilyId=02FA15FE-40D9-4DCE-9BB1-4DD61A5B7CCB&displaylang=en但是,即使驱动更新以后,还是一些设备不能访问:这时需要强制输出WML:在web.config添加下面内容<system.web>下 <browserCaps>            <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>            <use var="HTTP_USER_AGENT"/>                    preferredRenderingType = "wml11"                    preferredRenderingMime = "text/vnd.wap.wml"                    preferredImageMime = "image/vnd.wap.wbmp"</browserCaps> 如果定义相关其它属性可以完整的移动设置属性:     <browserCaps>            <result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>            <use var="HTTP_USER_AGENT"/>            browser=Unknown            version=0.0            majorversion=0            minorversion=0            frames=false            tables=false            cookies=false            backgroundsounds=false            vbscript=false            javascript=false            javaapplets=false            activexcontrols=false            win16=false            win32=false            beta=false            ak=false            sk=false            aol=false            crawler=false            cdf=false            gold=false            authenticodeupdate=false            tagwriter=System.Web.UI.Html32TextWriter            ecmascriptversion=0.0            msdomversion=0.0            w3cdomversion=0.0            platform=Unknown            css1=false            css2=false            xml=false            mobileDeviceManufacturer = "Unknown"            mobileDeviceModel = "Unknown"            gatewayVersion = "None"            gatewayMajorVersion = "0"            gatewayMinorVersion = "0"           preferredRenderingType = "wml11"           preferredRenderingMime = "text/vnd.wap.wml"           preferredImageMime = "image/vnd.wap.wbmp"            defaultScreenCharactersWidth = "12"            defaultScreenCharactersHeight = "6"            defaultScreenPixelsWidth = "96"            defaultScreenPixelsHeight = "72"            defaultCharacterWidth = "8"            defaultCharacterHeight = "12"            screenBitDepth = "1"            isColor = "false"            inputType = "telephoneKeypad"            numberOfSoftkeys = "0"            maximumSoftkeyLabelLength = "5"            canInitiateVoiceCall = "false"            canSendMail = "true"            hasBackButton = "true"            rendersWmlDoAcceptsInline = "true"            rendersWmlSelectsAsMenuCards = "true"            rendersBreaksAfterWmlAnchor = "false"            rendersBreaksAfterWmlInput = "false"            rendersBreakBeforeWmlSelectAndInput = "true"            requiresAttributeColonSubstitution = "true"            requiresPhoneNumbersAsPlainText = "false"            requiresUrlEncodedPostfieldValues = "false"            requiredMetaTagNameValue = ""            rendersBreaksAfterHtmlLists = "true"            requiresUniqueHtmlCheckboxNames = "true"            requiresUniqueHtmlInputNames = "true"            requiresUniqueFilePathSuffix = "true"            supportsCss = "false"            hidesRightAlignedMultiselectScrollbars = "false"            canRenderAfterInputOrSelectElement = "true"            canRenderInputAndSelectElementsTogether = "true"            canRenderOneventAndPrevElementsTogether = "true"            canCombineFormsInDeck = "true"            canRenderMixedSelects = "true"            canRenderPostBackCards = "true"            canRenderSetvarZeroWithMultiSelectionList = "true"            supportsImageSubmit = "true"            supportsSelectMultiple = "true"            requiresHtmlAdaptiveErrorReporting = "false"            requiresContentTypeMetaTag = "false"            requiresDBCSCharacter = "false"            requiresOutputOptimization = "false"            supportsAccesskeyAttribute = "false"            supportsInputIStyle = "false"            supportsInputMode = "false"            supportsIModeSymbols = "false"            supportsJPhoneSymbols = "false"            supportsJPhoneMultiMediaAttributes = "false"            maximumRenderedPageSize = "2000"            requiresSpecialViewStateEncoding = "false"            requiresNoBreakInFormatting = "false"            requiresLeadingPageBreak = "false"            supportsQueryStringInFormAction = "true"            supportsCacheControlMetaTag = "true"            supportsUncheck = "true"            canRenderEmptySelects = "true"            supportsRedirectWithCookie = "true"            supportsEmptyStringInCookieValue = "true"            cachesAllResponsesWithExpires = "false"            requiresNoSoftkeyLabels = "false"            defaultSubmitButtonLimit = "1"                        supportsBold = "false"            supportsItalic = "false"            supportsFontSize = "false"            supportsFontName = "false"            supportsFontColor = "true"            supportsBodyColor = "true"            supportsDivAlign = "true"            supportsDivNoWrap = "false"            supportsCharacterEntityEncoding = "true"            isMobileDevice="false"</browserCaps> 具体属性的意思可以考试MSDN:设备功能列表ms-help://MS.MSDNQTR.2003FEB.2052/mwsdk/html/mwlrfDeviceCapabilitiesTable.htm2.链接: 在同一个aspx文件,使用Link控件的,#FORM来切换不同Form时在 OPenWave 5.0测试会出现错误!建议在程序通过ActiveForm来做3.乱码:    如果在开发过程出现乱码,通过修改Web.Config    <globalization             requestEncoding="gb2312"             responseEncoding="gb2312"     />4.取消移动设备缓存:   Page.Response.Expires = -1;   Response.CacheControl = "Public"; 5.重定向重定向通过RedirectToMobilePage函数不过使用过程中可能会出现一些问题建议用Link控件来代替   一些开发资料:http://msdn.microsoft.com/mobility/downloads/sdks/default.aspxhttp://www.dotnet247.com/247reference/__site/72http://www.wapease.comhttp://www.sp-forum.org/download/list.asp?type=14http://www2.chn.monternet.com:8080/devdownload/DevWapSimulator.jsphttp://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.aspnet.mobile/

阅读(2305) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册