最近要做一个与联通的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>下
最近ASP.NET WAP开发的一些情况!<browserCaps>
最近ASP.NET WAP开发的一些情况!            
<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
最近ASP.NET WAP开发的一些情况!            
<use var="HTTP_USER_AGENT"/>
最近ASP.NET WAP开发的一些情况!                    preferredRenderingType = "wml11"
最近ASP.NET WAP开发的一些情况!                    preferredRenderingMime = "text/vnd.wap.wml"
最近ASP.NET WAP开发的一些情况!                    preferredImageMime = "image/vnd.wap.wbmp"
最近ASP.NET WAP开发的一些情况!
</browserCaps>

如果定义相关其它属性可以完整的移动设置属性:
最近ASP.NET WAP开发的一些情况!    <browserCaps>
最近ASP.NET WAP开发的一些情况!            
<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
最近ASP.NET WAP开发的一些情况!            
<use var="HTTP_USER_AGENT"/>
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!            browser=Unknown
最近ASP.NET WAP开发的一些情况!            version=0.0
最近ASP.NET WAP开发的一些情况!            majorversion=0
最近ASP.NET WAP开发的一些情况!            minorversion=0
最近ASP.NET WAP开发的一些情况!            frames=false
最近ASP.NET WAP开发的一些情况!            tables=false
最近ASP.NET WAP开发的一些情况!            cookies=false
最近ASP.NET WAP开发的一些情况!            backgroundsounds=false
最近ASP.NET WAP开发的一些情况!            vbscript=false
最近ASP.NET WAP开发的一些情况!            javascript=false
最近ASP.NET WAP开发的一些情况!            javaapplets=false
最近ASP.NET WAP开发的一些情况!            activexcontrols=false
最近ASP.NET WAP开发的一些情况!            win16=false
最近ASP.NET WAP开发的一些情况!            win32=false
最近ASP.NET WAP开发的一些情况!            beta=false
最近ASP.NET WAP开发的一些情况!            ak=false
最近ASP.NET WAP开发的一些情况!            sk=false
最近ASP.NET WAP开发的一些情况!            aol=false
最近ASP.NET WAP开发的一些情况!            crawler=false
最近ASP.NET WAP开发的一些情况!            cdf=false
最近ASP.NET WAP开发的一些情况!            gold=false
最近ASP.NET WAP开发的一些情况!            authenticodeupdate=false
最近ASP.NET WAP开发的一些情况!            tagwriter=System.Web.UI.Html32TextWriter
最近ASP.NET WAP开发的一些情况!            ecmascriptversion=0.0
最近ASP.NET WAP开发的一些情况!            msdomversion=0.0
最近ASP.NET WAP开发的一些情况!            w3cdomversion=0.0
最近ASP.NET WAP开发的一些情况!            platform=Unknown
最近ASP.NET WAP开发的一些情况!            css1=false
最近ASP.NET WAP开发的一些情况!            css2=false
最近ASP.NET WAP开发的一些情况!            xml=false
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!            mobileDeviceManufacturer = "Unknown"
最近ASP.NET WAP开发的一些情况!            mobileDeviceModel = "Unknown"
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!            gatewayVersion = "None"
最近ASP.NET WAP开发的一些情况!            gatewayMajorVersion = "0"
最近ASP.NET WAP开发的一些情况!            gatewayMinorVersion = "0"
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!           preferredRenderingType = "wml11"
最近ASP.NET WAP开发的一些情况!           preferredRenderingMime = "text/vnd.wap.wml"
最近ASP.NET WAP开发的一些情况!           preferredImageMime = "image/vnd.wap.wbmp"
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!            defaultScreenCharactersWidth = "12"
最近ASP.NET WAP开发的一些情况!            defaultScreenCharactersHeight = "6"
最近ASP.NET WAP开发的一些情况!            defaultScreenPixelsWidth = "96"
最近ASP.NET WAP开发的一些情况!            defaultScreenPixelsHeight = "72"
最近ASP.NET WAP开发的一些情况!            defaultCharacterWidth = "8"
最近ASP.NET WAP开发的一些情况!            defaultCharacterHeight = "12"
最近ASP.NET WAP开发的一些情况!            screenBitDepth = "1"
最近ASP.NET WAP开发的一些情况!            isColor = "false"
最近ASP.NET WAP开发的一些情况!            inputType = "telephoneKeypad"
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!            numberOfSoftkeys = "0"
最近ASP.NET WAP开发的一些情况!            maximumSoftkeyLabelLength = "5"
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!            canInitiateVoiceCall = "false"
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!            canSendMail = "true"
最近ASP.NET WAP开发的一些情况!            hasBackButton = "true"
最近ASP.NET WAP开发的一些情况!            rendersWmlDoAcceptsInline = "true"
最近ASP.NET WAP开发的一些情况!            rendersWmlSelectsAsMenuCards = "true"
最近ASP.NET WAP开发的一些情况!            rendersBreaksAfterWmlAnchor = "false"
最近ASP.NET WAP开发的一些情况!            rendersBreaksAfterWmlInput = "false"
最近ASP.NET WAP开发的一些情况!            rendersBreakBeforeWmlSelectAndInput = "true"
最近ASP.NET WAP开发的一些情况!            requiresAttributeColonSubstitution = "true"
最近ASP.NET WAP开发的一些情况!            requiresPhoneNumbersAsPlainText = "false"
最近ASP.NET WAP开发的一些情况!            requiresUrlEncodedPostfieldValues = "false"
最近ASP.NET WAP开发的一些情况!            requiredMetaTagNameValue = ""
最近ASP.NET WAP开发的一些情况!            rendersBreaksAfterHtmlLists = "true"
最近ASP.NET WAP开发的一些情况!            requiresUniqueHtmlCheckboxNames = "true"
最近ASP.NET WAP开发的一些情况!            requiresUniqueHtmlInputNames = "true"
最近ASP.NET WAP开发的一些情况!            requiresUniqueFilePathSuffix = "true"
最近ASP.NET WAP开发的一些情况!            supportsCss = "false"
最近ASP.NET WAP开发的一些情况!            hidesRightAlignedMultiselectScrollbars = "false"
最近ASP.NET WAP开发的一些情况!            canRenderAfterInputOrSelectElement = "true"
最近ASP.NET WAP开发的一些情况!            canRenderInputAndSelectElementsTogether = "true"
最近ASP.NET WAP开发的一些情况!            canRenderOneventAndPrevElementsTogether = "true"
最近ASP.NET WAP开发的一些情况!            canCombineFormsInDeck = "true"
最近ASP.NET WAP开发的一些情况!            canRenderMixedSelects = "true"
最近ASP.NET WAP开发的一些情况!            canRenderPostBackCards = "true"
最近ASP.NET WAP开发的一些情况!            canRenderSetvarZeroWithMultiSelectionList = "true"
最近ASP.NET WAP开发的一些情况!            supportsImageSubmit = "true"
最近ASP.NET WAP开发的一些情况!            supportsSelectMultiple = "true"
最近ASP.NET WAP开发的一些情况!            requiresHtmlAdaptiveErrorReporting = "false"
最近ASP.NET WAP开发的一些情况!            requiresContentTypeMetaTag = "false"
最近ASP.NET WAP开发的一些情况!            requiresDBCSCharacter = "false"
最近ASP.NET WAP开发的一些情况!            requiresOutputOptimization = "false"
最近ASP.NET WAP开发的一些情况!            supportsAccesskeyAttribute = "false"
最近ASP.NET WAP开发的一些情况!            supportsInputIStyle = "false"
最近ASP.NET WAP开发的一些情况!            supportsInputMode = "false"
最近ASP.NET WAP开发的一些情况!            supportsIModeSymbols = "false"
最近ASP.NET WAP开发的一些情况!            supportsJPhoneSymbols = "false"
最近ASP.NET WAP开发的一些情况!            supportsJPhoneMultiMediaAttributes = "false"
最近ASP.NET WAP开发的一些情况!            maximumRenderedPageSize = "2000"
最近ASP.NET WAP开发的一些情况!            requiresSpecialViewStateEncoding = "false"
最近ASP.NET WAP开发的一些情况!            requiresNoBreakInFormatting = "false"
最近ASP.NET WAP开发的一些情况!            requiresLeadingPageBreak = "false"
最近ASP.NET WAP开发的一些情况!            supportsQueryStringInFormAction = "true"
最近ASP.NET WAP开发的一些情况!            supportsCacheControlMetaTag = "true"
最近ASP.NET WAP开发的一些情况!            supportsUncheck = "true"
最近ASP.NET WAP开发的一些情况!            canRenderEmptySelects = "true"
最近ASP.NET WAP开发的一些情况!            supportsRedirectWithCookie = "true"
最近ASP.NET WAP开发的一些情况!            supportsEmptyStringInCookieValue = "true"
最近ASP.NET WAP开发的一些情况!            cachesAllResponsesWithExpires = "false"
最近ASP.NET WAP开发的一些情况!            requiresNoSoftkeyLabels = "false"
最近ASP.NET WAP开发的一些情况!            defaultSubmitButtonLimit = "1"
最近ASP.NET WAP开发的一些情况!            
最近ASP.NET WAP开发的一些情况!            supportsBold = "false"
最近ASP.NET WAP开发的一些情况!            supportsItalic = "false"
最近ASP.NET WAP开发的一些情况!            supportsFontSize = "false"
最近ASP.NET WAP开发的一些情况!            supportsFontName = "false"
最近ASP.NET WAP开发的一些情况!            supportsFontColor = "true"
最近ASP.NET WAP开发的一些情况!            supportsBodyColor = "true"
最近ASP.NET WAP开发的一些情况!            supportsDivAlign = "true"
最近ASP.NET WAP开发的一些情况!            supportsDivNoWrap = "false"
最近ASP.NET WAP开发的一些情况!            supportsCharacterEntityEncoding = "true"
最近ASP.NET WAP开发的一些情况!
最近ASP.NET WAP开发的一些情况!            isMobileDevice="false"
最近ASP.NET WAP开发的一些情况!
</browserCaps>

具体属性的意思可以考试MSDN:设备功能列表
ms-help://MS.MSDNQTR.2003FEB.2052/mwsdk/html/mwlrfDeviceCapabilitiesTable.htm

2.链接:
 在同一个aspx文件,使用Link控件的,#FORM来切换不同Form时在 OPenWave 5.0测试会出现错误!
建议在程序通过ActiveForm来做
3.乱码:
    如果在开发过程出现乱码,通过修改Web.Config
    <globalization
            requestEncoding="gb2312"
            responseEncoding="gb2312"
    />
4.取消移动设备缓存:
最近ASP.NET WAP开发的一些情况!  Page.Response.Expires = -1;
最近ASP.NET WAP开发的一些情况!   Response.CacheControl 
= "Public";

5.重定向
重定向通过
RedirectToMobilePage函数
不过使用过程中可能会出现一些问题
建议用Link控件来代替

   一些开发资料:
http://msdn.microsoft.com/mobility/downloads/sdks/default.aspx

http://www.dotnet247.com/247reference/__site/72

http://www.wapease.com

http://www.sp-forum.org/download/list.asp?type=14

http://www2.chn.monternet.com:8080/devdownload/DevWapSimulator.jsp

http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.aspnet.mobile/

   

相关文章:

  • 2021-09-17
  • 2021-11-22
  • 2021-12-07
  • 2021-10-02
  • 2021-11-02
  • 2021-08-30
  • 2019-11-06
  • 2021-08-18
猜你喜欢
  • 2021-09-20
  • 2021-11-07
  • 2021-11-15
  • 2019-03-08
  • 2021-11-29
  • 2021-09-19
  • 2021-08-26
  • 2022-01-05
相关资源
相似解决方案