ASP.NET中的URL映射技巧_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ADO.NET中的Connection對象詳解
      連接字符串 連接字符串的幾個常用參數: Provider:這個屬性用于設置或返回連接提供程序的名稱,僅用于OleDbConnection對象。 Connection Timeout或Connect Timeout:在中止嘗試并產生異常前,等待連接到服務器的連接時間長度(以秒為單位)。默認是15秒。 Initail Catal

       在項目中經常要進行如下映射


      http://yyjcw.com/a.aspx?name=llinzzi
      映射到
      http://yyjcw.com/llinzzi
      首先要解決2個問題
      第一是支持通配符的映射 URL映射是asp.net2.0新增的功能,不支持通配符
      于是采用了NBEAR的 NBear.Web.Modules.UrlRewriteRules 進行通配符映射

       


      <?xml version="1.0"?>
      <!-- 
          注意: 除了手動編輯此文件以外,您還可以使用 
          Web 管理工具來配置應用程序的設置。可以使用 Visual Studio 中的
           “網站”->“Asp.Net 配置”選項。
          設置和注釋的完整列表在 
          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>
          
          <!-- 
                  設置 compilation debug="true" 將調試符號插入
                  已編譯的頁面中。但由于這會 
                  影響性能,因此只在開發過程中將此值 
                  設置為 true。
              -->
              <compilation debug="true" defaultLanguage="c#" />
              <!--
                  通過 <authentication> 節可以配置 ASP.NET 使用的 
                  安全身份驗證模式,
                  以標識傳入的用戶。 
              -->
              <authentication mode="Windows"/>
              <!--
                  如果在執行請求的過程中出現未處理的錯誤,
                  則通過 <customErrors> 節可以配置相應的處理步驟。具體說來,
                  開發人員通過該節可以配置
                  要顯示的 html 錯誤頁
                  以代替錯誤堆棧跟蹤。

              <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
                  <error statusCode="403" redirect="NoAccess.htm" />
                  <error statusCode="404" redirect="FileNotFound.htm" />
              </customErrors>
              -->
          </system.web>
      </configuration>

      vs2005里進行測試成功,但放到IIS里失敗

      檢查了幾次,沒發現問題,仔細想了想

      先了下,iis的工作流程應該是遇到.aspx擴展名,交給.net處理,然后才能調用httpModules進行url映射
      http://yyjcw.com/llinzzi
      沒有aspx擴展名,所以iis直接當成文件架,返回404錯誤了
      而vs2005里的調試web服務器把所有的請求都發給了.net處理,所以成功.
      于是更改映為
        <Rule key="/(.*)/index.aspx" value="/a.aspx?name=$1" />
      瀏覽
      http://yyjcw.com/llinzzi/index.aspx
      測試成功.
      開心,把index.aspx設置成默認文檔
      測試http://yyjcw.com/llinzzi/;結果還是404錯誤
      想了下iis認為llinzzi文件夾不存在,自然就沒用默認文檔去訪問

      郁悶,想了很多方法,均失敗
      難道要用 llinzzi/index.html訪問?難道要生成真是存在的文件夾?
      都不是理想的方案

      分享:Asp.net配合easyui實現返回json數據實例
      最近想用asp.net配合easyui開發一個小框架,然后再用到easyui的combobox的時候出現了一個問題,總所周知,easyui的文檔上給出的combobox的格式是 代碼如下:input class=easyui-combobox name=language data-options= url:'../combobox/combobox_data1.json', valueFiel

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2015-01-30
      相關.Net教程