如何在
IIS
(
Microsoft Internet Information Server
)上建立
WAP
网站
| ||||||||||||||
1
.在
IIS
平台创建一个新的
MIME
类型
先选择
WAP
站点的属性,再加入
MIME
类型,然后选择
HTTP Headers
标签。
在MIME Map部分,点击File Type并且输入以下信息:
完成以后,将会显示以下几种类型: |
如果您的IE不能正常浏览WAP,可能您的IE浏览器可能屏蔽了Activex技术。您可以设置IE浏览器属性。
请参考下图:
图2
(三).强制输出WML格式,可供多种设备类型访问
强制输出WML:
在web.config
添加下面内容<system.web>下
1.
<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>
2.如果定义相关其它属性可以完整的移动设置属性:
<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>
1、XML程序的基本结构
一个简单的页面开始。
<?xml version="1.0"?> |
此程序在手机上显示Hello!
WML语言是一个很严格的,哪怕一点不同都会导致错误。所有的WML程序必须在文件的开头处声明XML文件类型,包括XML的版本,WML的文档类型、所用规范等。声明形式如下:
<?xml version="1.0"?> |
WML文档是由“卡片(Card)”和“卡片组(Deck)”构成的,一个Deck是一个或多个Card的集合。当客户端发出请求之后,WML即从网络上把Deck发送到客户浏览器,这时用户就可以浏览Deck内包含的所有Card,而不必从网上单独下载每一个Card,程序中的第一个Card是缺省得可见的Card。
<xml>标签:该标签用于包含和定义WML的一个Deck。它有一个可选的xml:lang属性来制定文档的语言,比如<wml xml:lang="zh">表示文档语言为中文。
如 :
<card id="name" title="label" newcontext="false" ordered="true" onenterforwand="url" pmemterbackward="url" ontimer="url"> </card>
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. 取消移动设备缓存 :
Page.Response.Expires = -1;
Response.CacheControl = "Public";
5. 重定向
重定向通过
RedirectToMobilePage 函数
不过使用过程中可能会出现一些问题
建议用 Link 控件来代替
6. 获取手机Wallpaper尺寸: Size = Request("HTTP_X_UP_DEVCAP_SCREENPIXELS")'
7. 获取手机的型号:
str=request.ServerVariables("ALL_HTTP")
t=instr(1,str,"HTTP_USER_AGENT")+16
e=instr(t,str,"/")-t
Mobile_Type=mid(str,t,e)
8.获取真实手机号码
mobile=Request.ServerVariables("HTTP_X_UP_CALLING_LINE_ID")
mobile=mid(mobile,3,11)
(六)简单例子:
<?xml version="1.0"?> |
显示结果如下:
------ HELLO ------ |
WML外部引用方式跟HTML相同
http://www.itsalon.net/index.wml 或 |
内部引用,如果next是当前DECK中的一个CARD时,可以用这种方式:
#next |
(七).WAP术语
(八).相关开发资料链接:
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/
http://www.411asp.net/home/tutorial/howto/wap
http://www.esofun.com/ceo/article.asp?id=1
http://www.cnblogs.com/aierong/archive/2005/06/22/50279.html
http://www.xahz.com/Hzcommunication/ArticleInfo.asp?id=212
http://blog.93133.com/?action=show&id=166
http://www.mohappy.com/Soft/resources/spresource/200502/538.html
2.http://mobility.microsoftdev.com
3.http://www.asp.net/mobile
4.http://www.microsoft.com/mobile/partner
5.http://www.microsoft.com/mobile/mobile2market
5.http://msdn.microsoft.com
特别推荐: