WAP ASP.Net 开发笔记(一)

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

配置了IIS,,建立了一个asp.net mobile工程,又加上了关于WML MIME的映射条目,满以为可以测试了,于是启动M3Gate,但是失败了,地到的信息为:

“UTF-8格式不支持”类的错误,于是检查web.config.的

<globalization

requestEncoding="utf-8"

responseEncoding="utf-8"

/>

修改为

<globalization

requestEncoding="gb2312"

responseEncoding="gb2312"

/>

再一次启动IE,测试通过,但是M3Gate 再一次报错:大致意思为:

对于Text/Html格式不支持。

思考,为什么M3Gate得到html格式的响应而不是wml呢?翻阅资料,结合asp.net的WAP框架知道,原来,对于设备,需要指定设备的类型,明确通过配置文件告诉框架如何解释asp.net的执行结果,这种执行可能解释成HTML也可能解释为WML,取决于设备是否匹配。那设备匹配是如何实现的呢?主要是通过machine.cong文件的或者web.config文件的

<browserCaps> 节,通过HTTP_USER_AGENT 获取设备标示,只是框架获得设备的一些参数,从而在框架的配置下得到合适的wml文件。

M3Gate不是标准的mobile设备,所以框架不认识,缺省状况下按照html设备输出,导致上述错误。

解决办法:让框架知道M3Gate是一个设备。

于是,查找machine.config ,取出其中的一段,复制到web.config

<browserCaps>

<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>

<use var="HTTP_USER_AGENT"/>

<filter>

<case match="M3Gate/0.6" >

type = "Ericsson R380"

version = ${browserMajorVersion}.${browserMinorVersion}

majorVersion = ${browserMajorVersion}

minorVersion = ${browserMinorVersion}

preferredRenderingType = "wml11"

preferredRenderingMime = "text/vnd.wap.wml"

preferredImageMime = "image/vnd.wap.wbmp"

inputType = "virtualKeyboard"

canInitiateVoiceCall = "true"

mobileDeviceManufacturer = "Ericsson"

mobileDeviceModel = "R380"

screenPixelsWidth = "310"

screenPixelsHeight = "100"

screenCharactersHeight = "7"

screenBitDepth = "1"

isColor = "false"

maximumRenderedPageSize = "3000"

isMobileDevice="true"

</case>

</filter>

</browserCaps>

除了其中的 “M3Gate“其他的都是拷贝过来的,测试运行,OK.

那我怎么知道是 M3Gate/0.6 呢?我是建立了一个日志文件,在page_load事件中就进行纪录,通过文件的纪录获取得到我测试用的M3Gate的User_aAgent。代码如洗:

private void _logHTTPHeader()

{

FileStream fs=new FileStream ("F:\\WUTemp\\Log.log",FileMode.OpenOrCreate ,FileAccess.Write );

StreamWriter ws=new StreamWriter(fs);

ws.WriteLine(DateTime.Now.ToShortTimeString () + Request.UserAgent +" "+Request.UserAgent );

ws.Flush();

ws.Close ();

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航