最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ashx文件的使用小結

 更新時間:2013年12月13日 09:45:14   作者:  
這篇文章主要是對ashx文件的使用進行了介紹。需要的朋友可以過來參考下,希望對大家有所幫助

一提到Ashx文件,我們就會想到http handler以及圖片加載(在之前我們一般使用ASPX或者Webservice去做),一般做法如下:

Handler.ashx:

復制代碼 代碼如下:

<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.IO;
using System.Web;
public class Handler : IHttpHandler {

public bool IsReusable {
  get {
   return true;
  }
}
public void ProcessRequest (HttpContext context) {
  context.Response.ContentType = "image/jpeg";
  context.Response.Cache.SetCacheability(HttpCacheability.Public);
  context.Response.BufferOutput = false;
  PhotoSize size;
  switch (context.Request.QueryString["Size"]) {
   case "S":
    size = PhotoSize.Small;
    break;
   case "M":
    size = PhotoSize.Medium;
    break;
   case "L":
    size = PhotoSize.Large;
    break;
   default:
    size = PhotoSize.Original;
    break;
  }
  Int32 id = -1;
  Stream stream = null;
  if (context.Request.QueryString["PhotoID"] != null && context.Request.QueryString["PhotoID"] != "") {
   id = Convert.ToInt32(context.Request.QueryString["PhotoID"]);
   stream = PhotoManager.GetPhoto(id, size);
  } else {
   id = Convert.ToInt32(context.Request.QueryString["AlbumID"]);
   stream = PhotoManager.GetFirstPhoto(id, size);
  }
  if (stream == null) stream = PhotoManager.GetPhoto(size);
  const int buffersize = 1024 * 16;
  byte[] buffer = new byte[buffersize];
  int count = stream.Read(buffer, 0, buffersize);
  while (count > 0) {
   context.Response.OutputStream.Write(buffer, 0, count);
   count = stream.Read(buffer, 0, buffersize);
  }
}
}


*.aspx:
<img src="myHttpHander.ashx?id=123" width="20" height="20" />

我們變通以下,發(fā)現(xiàn)其實除了可以輸出圖片以外,還可以輸出文字:
Handler.ashx:

復制代碼 代碼如下:

<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        context.Response.Write("alert('hi')");
    }

    public bool IsReusable {
        get {
            return false;
        }
    }
}


*.aspx:
彈出alert
<script src="Handler.ashx"></script>
也可以把.ashx當成css文件
<link href="css/Handler.ashx" rel="stylesheet" type="text/css">

xml文件
orderDoc.load("Handler.ashx");

還可以嵌入文字:
Handler.ashx:

復制代碼 代碼如下:

<%@ WebHandler Language="C#" Class="TestHandler" %>
using System;
using System.Web;
public class TestHandler : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        context.Response.Write("document.write(\"Hello World\");");
    }

 

    public bool IsReusable {
        get {
            return false;
        }
    }
}


*.aspx:
<script type="text/javascript" src="TestHandler.ashx" />

當你希望從ashx或HttpHandler里訪問你的Session時,你必須實現(xiàn)IReadOnlySessionState接口.

代碼:

復制代碼 代碼如下:

using System;
using System.Web;
using System.Web.SessionState;

public class DownloadHandler : IHttpHandler, IReadOnlySessionState
{
   public bool IsReusable { get { return true; } }

   public void ProcessRequest(HttpContext ctx)
   {
       ctx.Response.Write(ctx.Session["fred"]);
   }
}


其實,學習的思路不應該這樣,以上除了圖片外,我們都用偏了,為什么用偏了呢,因為軟件以簡單、實用為主,我們只是把以上純粹看成可一項技術而沒有把它放到軟件的地位去考慮:)
具體的用途,大家可以參考Rewirte.dll (這個dll,可以使服務器支持偽靜態(tài)的)

相關文章

  • asp.net下遍歷頁面中所有的指定控件的代碼

    asp.net下遍歷頁面中所有的指定控件的代碼

    遍歷aspx頁面中所有的指定控件的代碼
    2010-02-02
  • asp.net分割字符串的幾種方法小結

    asp.net分割字符串的幾種方法小結

    在編寫程序中,經(jīng)常要用到分割的方法來處理一些字符串。這里總結了幾種常用的分割方法
    2012-01-01
  • .NET?Core實現(xiàn)企業(yè)微信消息推送

    .NET?Core實現(xiàn)企業(yè)微信消息推送

    這篇文章介紹了.NET?Core實現(xiàn)企業(yè)微信消息推送的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 用vs調試sql存儲過程圖文介紹

    用vs調試sql存儲過程圖文介紹

    想必大家應該有給存儲過程找錯誤的經(jīng)歷吧,一遍遍的去讀sql代碼,一句一句的測試,發(fā)現(xiàn)一個小錯誤可能都要用很長的時間,接下來將介紹使用vs2010調試存儲過程,感興趣的朋友可以不要錯過了啊
    2013-02-02
  • .NET下為百度文本編輯器UEditor增加圖片刪除功能示例

    .NET下為百度文本編輯器UEditor增加圖片刪除功能示例

    今天下載了目前最新版1.2.5為版本看更新記錄,主要是對表格做個修改,我下載用上,上傳圖片的刪除功能給取消了,下面與大家分享下增加圖片刪除功能示例
    2013-05-05
  • asp.net中ViewState的用法詳解

    asp.net中ViewState的用法詳解

    本文給大家介紹asp.net中viewstate的用法,涉及到viewstate的原理、用法、與session的對比等方面的知識,對viewstate用法感興趣的朋友一起看看吧
    2015-10-10
  • Asp.Net性能優(yōu)化技巧匯總

    Asp.Net性能優(yōu)化技巧匯總

    這篇文章主要介紹了Asp.Net性能優(yōu)化技巧匯總,非常實用的歸納總結,需要的朋友可以參考下
    2014-07-07
  • SignalR中豐富多彩的消息推送方式的實現(xiàn)代碼

    SignalR中豐富多彩的消息推送方式的實現(xiàn)代碼

    這篇文章主要介紹了SignalR中豐富多彩的消息推送方式的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • asp.net url分頁類代碼

    asp.net url分頁類代碼

    asp.net url分頁類代碼,需要用到分頁的朋友可以參考下。
    2009-11-11
  • .NET?6中的dotnet?monitor講解

    .NET?6中的dotnet?monitor講解

    dotnet?monitor為Azure?App?Service(Linux)提供.NET?應用程序的診斷工具提供支持。這篇文章講解了.NET?6中的dotnet?monitor,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12

最新評論

富阳市| 蒙阴县| 武威市| 红原县| 报价| 化州市| 黔西县| 旬邑县| 卢湾区| 宁阳县| 石泉县| 象州县| 基隆市| 延吉市| 东海县| 华容县| 白城市| 科技| 兰西县| 马边| 抚州市| 北票市| 卓尼县| 宝鸡市| 延安市| 陇南市| 屏山县| 巴林右旗| 宣化县| 襄垣县| 崇州市| 阿图什市| 恭城| 富民县| 高淳县| 新闻| 三台县| 鹤岗市| 察哈| 大埔县| 大安市|