ASP.NET 노트 의 Request,Response,Server 사용
다음 실례 를 들 어 Request 의 몇 가지 방법 을 통 해 탐색 그림 이 내부 탐색 인지 아 닌 지 를 판단 하고 인터넷 주소 로 탐색 하거나 외부 에서
<%@ WebHandler Language="C#" Class="image_Test" %>
using System;
using System.Web;
public class image_Test : IHttpHandler {
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "image/JPEG";
// URLreferrer null ,
//URLreferrer
string picPath=HttpContext.Current.Server.MapPath("DSCF0738.JPG");
using (System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(picPath)) {
using (System.Drawing.Graphics graphic = System.Drawing.Graphics.FromImage(bitmap))
{
// , UrlReferrer
//
if (context.Request.UrlReferrer == null)
{
graphic.Clear(System.Drawing.Color.White);
graphic.DrawString(" ", new System.Drawing.Font(" ", 15),
System.Drawing.Brushes.Red, 0, 0);
}
//http://127.0.0.1:32581/WebSite_zzl01/vivideo_test/request/Request.aspx
else if (context.Request.UrlReferrer.Host != "localhost")
{
graphic.Clear(System.Drawing.Color.White);
graphic.DrawString(" ", new System.Drawing.Font(" ", 15),
System.Drawing.Brushes.Red, 0, 0);
}
//
bitmap.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
public bool IsReusable {
get {
return false;
}
}
}
html 를 사용 합 니 다라 라 라 라
2、Response
(1)스 트림 을 되 돌려 클 라 이언 트 에 게 스 트림 으로 되 돌려 줍 니 다*write 할 때마다 캐 시 에 저장 합 니 다.브 라 우 저 에 직접 저장 하 는 것 이 아니 라 저장 이 가득 하거나 처리 가 끝 날 때 까지 브 라 우 저*Flush 방법 으로 즉시 브 라 우 저 에 보 냅 니 다.
(2)도 난 방지 등:더 이상 실행 하지 않 고 aspx 에 쓰 는 것 이 좋다. context.Response.End();
(3)aspx 와 ashx
출력 텍스트,그림,다운로드 주 소 는 마지막 으로 ashx 에 쓰 이 고 html 내용 은 aspx 에 쓰 입 니 다.
(4)방향 을 바꾼다 Redirect
Flush 실례:
<%@ WebHandler Language="C#" Class="response" %>
using System;
using System.Web;
public class response : IHttpHandler {
public void ProcessRequest (HttpContext context) {
// plain <br/>
context.Response.ContentType = "text/html";
//
for (int i = 0; i < 20; i++)
{
System.Threading.Thread.Sleep(500);
context.Response.Write(" "+i+" <br/>");
// Flush, , !
context.Response.Flush();
}
}
public bool IsReusable {
get {
return false;
}
}
}
3,server(1)Server.Transfer 와 Response.Redirect 의 차이
*transfer 방문 은 내부 사이트 일 수 있 고 외부 일 수 없 으 며 redirect 는 가능 합 니 다.
* transfer 는 사이트 내부 에서 연결 되 어 http 요청 을 한 번 만 수행 하고 Redirect 는 몇 번 돌리 면 http 요청 을 몇 번 실행 하고 주소 표시 줄 에 표시 합 니 다.
* transfer 는 각종 정 보 를 직접 전달 하지만 Redirect 는 * ashx transfo 로 다시 지정 할 수 없습니다.
실례:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class vivideo_test_server_server : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string text=Request["id"];
if (text == "1") {
Response.Write(" ");
}
else if(text=="2"){
//
Server.Transfer("DSCF0738.JPG");
}
else if (string.IsNullOrEmpty(text))
{
Response.Write(" ");
}
else {
//
Response.Redirect(" .jpg");
//
//Response.Redirect("aaa.aspx?id=1");
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[개발일지 4월 1일] [공통교육-파이썬 기초] 플라스크 앱에 데이터베이스 연동 - 이고잉 강사1. 학습한 내용 server.py 모든 내용 필기내용 2) post 방식 : url이 아닌 숨겨진 방식으로 데이터 전송(한계가 없음)(write, delete, create) <오늘 glitch 내용> termin...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.