ASP.NET中的URL映射技巧_.Net教程
推薦:ADO.NET中的Connection對(duì)象詳解連接字符串 連接字符串的幾個(gè)常用參數(shù): Provider:這個(gè)屬性用于設(shè)置或返回連接提供程序的名稱,僅用于OleDbConnection對(duì)象。 Connection Timeout或Connect Timeout:在中止嘗試并產(chǎn)生異常前,等待連接到服務(wù)器的連接時(shí)間長(zhǎng)度(以秒為單位)。默認(rèn)是15秒。 Initail Catal
在項(xiàng)目中經(jīng)常要進(jìn)行如下映射
將
http://yyjcw.com/a.aspx?name=llinzzi
映射到
http://yyjcw.com/llinzzi
首先要解決2個(gè)問題
第一是支持通配符的映射 URL映射是asp.net2.0新增的功能,不支持通配符
于是采用了NBEAR的 NBear.Web.Modules.UrlRewriteRules 進(jìn)行通配符映射
<?xml version="1.0"?>
<!--
注意: 除了手動(dòng)編輯此文件以外,您還可以使用
Web 管理工具來配置應(yīng)用程序的設(shè)置。可以使用 Visual Studio 中的
“網(wǎng)站”->“Asp.Net 配置”選項(xiàng)。
設(shè)置和注釋的完整列表在
machine.config.comments 中,該文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<configSections>
<section name="UrlRewriteRules" type="NBear.Web.Modules.UrlRewriteRules, NBear.Web"/>
</configSections>
<UrlRewriteRules>
<Rule key="/(.*)/" value="/a.aspx?name=$1" />
<Rule key="/(.*)" value="/a.aspx?name=$1" />
</UrlRewriteRules>
<appSettings/>
<system.web>
<sessionState timeout="200" />
<httpModules>
<add type="NBear.Web.Modules.UrlRewriteModule, NBear.Web" name="UrlRewriteModule"/>
</httpModules>
<!--
設(shè)置 compilation debug="true" 將調(diào)試符號(hào)插入
已編譯的頁(yè)面中。但由于這會(huì)
影響性能,因此只在開發(fā)過程中將此值
設(shè)置為 true。
-->
<compilation debug="true" defaultLanguage="c#" />
<!--
通過 <authentication> 節(jié)可以配置 ASP.NET 使用的
安全身份驗(yàn)證模式,
以標(biāo)識(shí)傳入的用戶。
-->
<authentication mode="Windows"/>
<!--
如果在執(zhí)行請(qǐng)求的過程中出現(xiàn)未處理的錯(cuò)誤,
則通過 <customErrors> 節(jié)可以配置相應(yīng)的處理步驟。具體說來,
開發(fā)人員通過該節(jié)可以配置
要顯示的 html 錯(cuò)誤頁(yè)
以代替錯(cuò)誤堆棧跟蹤。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
vs2005里進(jìn)行測(cè)試成功,但放到IIS里失敗
檢查了幾次,沒發(fā)現(xiàn)問題,仔細(xì)想了想
先了下,iis的工作流程應(yīng)該是遇到.aspx擴(kuò)展名,交給.net處理,然后才能調(diào)用httpModules進(jìn)行url映射
http://yyjcw.com/llinzzi
沒有aspx擴(kuò)展名,所以iis直接當(dāng)成文件架,返回404錯(cuò)誤了
而vs2005里的調(diào)試web服務(wù)器把所有的請(qǐng)求都發(fā)給了.net處理,所以成功.
于是更改映為
<Rule key="/(.*)/index.aspx" value="/a.aspx?name=$1" />
瀏覽
http://yyjcw.com/llinzzi/index.aspx
測(cè)試成功.
開心,把index.aspx設(shè)置成默認(rèn)文檔
測(cè)試http://yyjcw.com/llinzzi/;結(jié)果還是404錯(cuò)誤
想了下iis認(rèn)為llinzzi文件夾不存在,自然就沒用默認(rèn)文檔去訪問
郁悶,想了很多方法,均失敗
難道要用 llinzzi/index.html訪問?難道要生成真是存在的文件夾?
都不是理想的方案
分享:Asp.net配合easyui實(shí)現(xiàn)返回json數(shù)據(jù)實(shí)例最近想用asp.net配合easyui開發(fā)一個(gè)小框架,然后再用到easyui的combobox的時(shí)候出現(xiàn)了一個(gè)問題,總所周知,easyui的文檔上給出的combobox的格式是 代碼如下:input class=easyui-combobox name=language data-options= url:'../combobox/combobox_data1.json', valueFiel
- ADO.NET中的Connection對(duì)象詳解
- Asp.net配合easyui實(shí)現(xiàn)返回json數(shù)據(jù)實(shí)例
- ASP.NET中實(shí)現(xiàn)獲取調(diào)用方法名
- ASP.NET中MVC從后臺(tái)控制器傳遞數(shù)據(jù)到前臺(tái)視圖的方式
- .net使用自定義類屬性實(shí)例
- .NET實(shí)現(xiàn)在網(wǎng)頁(yè)中預(yù)覽Office文件的3個(gè)方法
- asp.net中控制反轉(zhuǎn)怎么理解?
- delphi選擇文件夾例子
- asp.net中C++單例實(shí)現(xiàn)問題分析
- 簡(jiǎn)單理解Web Service三種實(shí)現(xiàn)方式
- Asp.net中Ajax與JQuery的ready函數(shù)沖突怎么辦
- asp.net中Repeater控件用法筆記
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- ASP.NET網(wǎng)絡(luò)編程中常用到的27個(gè)函數(shù)集
- ASP.Net中利用CSS實(shí)現(xiàn)多界面兩法
- 將非模態(tài)對(duì)話框顯示為模態(tài)對(duì)話框
- 淺談ASP.NET 2.0服務(wù)器控件開發(fā)的基本概念
- ASP.NET MVC中解析淘寶網(wǎng)頁(yè)出現(xiàn)亂碼問題的解決方法
- Asp.Net中動(dòng)態(tài)頁(yè)面轉(zhuǎn)靜態(tài)頁(yè)面
- ASP.Net常用功能整理--生成圖片的縮略圖
- 關(guān)于.NET Framework中的設(shè)計(jì)模式--應(yīng)用策略模式為L(zhǎng)ist排序
- ASP.NET中用healthMonitor屬性用法
- 揭秘實(shí)現(xiàn)ASP.NET中網(wǎng)站訪問量統(tǒng)計(jì)的方法
- 相關(guān)鏈接:
- 教程說明:
.Net教程-ASP.NET中的URL映射技巧
。