ASP.NET propiedades HTTP y métodos explicados

Objeto de solicitud

El objeto Solicitud es una instancia de la clase HttpRequest, que proporciona acceso a la solicitud de página actual, incluidos encabezados, cookies, certificados de cliente, cadenas de consulta, etc. Los usuarios pueden usar esta clase para leer el contenido que el navegador ha enviado.

Coleccion Descripción
ClientCertificate Contiene todos los valores de campo almacenados en el certificado del cliente.
Galletas Contiene todos los valores de cookies enviados en solicitudes HTTP.
Formar Contiene todos los valores de formulario (entrada) enviados por el formulario utilizando el método de publicación.
QueryString Contiene todos los valores variables en la cadena de consulta HTTP.
ServerVariables Contiene todos los valores variables del servidor.

La colección significa que hay objetos en el objeto Solicitud, y estos objetos tienen sus propias propiedades y métodos, como el valor Request.Cookies ("nombre").

Atributos Descripción
totalBytes Devuelve el número total de bytes enviados por el cliente en el cuerpo de la solicitud.

Propiedad significa solo Request.TotalBytes

Método Descripción
BinaryRead Recupere los datos enviados desde el cliente al servidor como parte de la solicitud posterior y almacénelos en una matriz segura.
int a=Request.TotalBytes
int b=Request.BinaryRead(a)

Ejemplos comunes

Ejemplo de formulario HTML:

<form runat="server" id="login">
   <input type="text" name="username">
   <input type="text" name="password">
   <input type="submit" value="Submit">
</form>

OBTENER solicitud:

  • El comando Request.QueryString se utiliza para recopilar los valores en el formulario utilizando method = "get".
  • La información transmitida desde el formulario utilizando el método GET es visible para todos los usuarios (aparece en la barra de direcciones del navegador), y también hay un límite en la cantidad de información enviada.

Si el usuario ingresa "admin" y "123456" en el formulario HTML anterior, la URL enviada al servidor se verá así:

http://localhost?username=admin&password=123456

Recepción de backend de C #:

string username = Request.QueryString["username"];
string password = Request.QueryString["password"];

Solicitud POST:

  • El comando Request.Form se usa para recopilar los valores en el formulario utilizando method = "post".
  • La información transmitida desde el formulario utilizando el método POST es invisible para el usuario y no hay límite para la cantidad de información enviada.

Si el usuario ingresa "Bill" y "Gates" en el formulario HTML anterior, la URL enviada al servidor se verá así:

http://localhost

Recepción de backend de C #:

string username = Request.Form("username");
string password = Request.Form("password");

Objeto de respuesta

El objeto de respuesta ASP se usa para enviar el resultado de salida del servidor al usuario. Su colección, propiedades y métodos se describen a continuación:

Coleccion Descripción
Galletas Establece el valor de la cookie. Si la cookie no existe, cree una cookie y establezca el valor especificado.
Atributos Descripción
Buffer Especifica si se debe almacenar en búfer la salida de la página.
CacheControl Establezca si el servidor proxy puede almacenar en caché la salida generada por ASP.
Charset Agregue el nombre del juego de caracteres al encabezado de tipo de contenido en el objeto Respuesta.
Tipo de contenido Establezca el tipo de contenido HTTP del objeto Respuesta.
Expira Establezca el tiempo de caché del navegador (minutos) antes de que caduque la página.
Expira Absoluto Establezca la fecha y la hora en que la memoria caché de la página en el navegador deja de ser válida.
IsClientConnected Indica si el cliente se ha desconectado del servidor.
Fotos Agregue un valor a la etiqueta PICS en el encabezado de respuesta.
Estado Especifica el valor de la línea de estado devuelta por el servidor.
Método Descripción
AddHeader Agregue un nuevo encabezado y valor HTTP a la respuesta HTTP.
AppendToLog Agregue una cadena al final de la entrada del registro del servidor.
BinaryWrite Escriba datos directamente en la salida sin ninguna conversión de caracteres.
Claro Borre la salida HTML almacenada en el búfer.
Final Deje de procesar el script y devuelva el resultado actual.
Rubor Envíe la salida HTML almacenada inmediatamente.
Redirigir Redireccionar al usuario a una URL diferente.
Escribir Escribe la cadena especificada en la salida.

Ejemplos comunes

Redirigir URL.

Response.Redirect("http://localhost/2")

Escribe una cadena especificada en el resultado de la página.

Response.Write( "Hello World")

Deje de procesar el script y devuelva el resultado actual.

Response.End

Modifique la línea de estado devuelta por el servidor.

response.Status="404"

Establece el tipo de contenido HTTP.

response.ContentType="text/HTML"

Flujo de archivo de salida.

response.WriteFile('test.txt')

Objeto del servidor

El objeto Servidor define una clase relacionada con el servidor web, proporciona acceso a métodos y propiedades en el servidor y se utiliza para acceder a recursos en el servidor.

Atributos Descripción
ScriptTimeout Establezca o devuelva el tiempo máximo (en segundos) que puede ejecutar un script antes de que finalice.
Método Descripción
Crear objeto Crea una instancia del objeto.
Ejecutar Ejecute un archivo ASP desde otro archivo ASP.
GetLastError () 返回可描述已发生错误状态的 ASPError 对象。
HTMLEncode 把 HTML 编码应用到某个指定的字符串。
MapPath 把一个指定的路径映射到一个物理路径。
Transfer 把一个 ASP 文件中创建的所有信息发送(传输)到另一个 ASP 文件。
URLEncode 把 URL 编码规则应用到指定的字符串。

常用实例

对一段指定的字符串应用 HTML 编码。

Server.HTMLEncode("<img>")
//&lt;img&gt;

可把指定的路径映射到服务器上相应的物理路径上。

Server.MapPath("test.html")

把 URL 编码。

Server.URLEncode("https://www.runoob.com")
//https%3A%2F%2Fwww%2Erunoob%2Ecom

把 URL 解码。

Server.URLDecode("https%3A%2F%2Fwww%2Erunoob%2Ecom")
//https://www.runoob.com

状态管理

状态管理表示进行对存储结构的操作。其实就是把Response对象抽离出来讲解。这里我们综合例子来讲。

Cookies

设置一小时过期的Cookies:

Response.Cookies("firstname")="Alex" 
Response.Cookies("firstname").expires = DateAdd("h", 1, Now())
  • 这里的Cookies(“firstname”)括号内的参数就是设置cookie 的名称。
  • 等于后面表示要对Cookies(“firstname”)进行对赋值操作,cookie 的值。
  • expires是设置cookie 的失效日期。如果没有规定日期,cookie 会在 session 结束时失效。

Session

Cookies与Session的区别在于前者永久保留数据在浏览器里,除非过期时间到,后者关掉浏览器即消失。

//设置值
Session("name")="Hege"
//设置5分钟过期
Session.Timeout=5
//获取全部值、Contents集合
Session.Contents("name")
Session.Contents(i)
//获取Session.Contents个数
Session.Contents.Count
//立即结束
Session.Abandon
//删除
Session.Contents.Remove("test2")

Application

Application 对象用于存储和访问来自任何页面的变量,类似于 Session 对象。不同之处在于,所有的用户分享一个 Application 对象,而 Session 对象和用户的关系是一一对应的。

Application 对象存有会被应用程序中的许多页面使用的信息(比如数据库连接信息)。可以从任何的页面访问这些信息。同时您也可以在一个地方改变这些信息,随后这些改变会自动反映在所有的页面上。

下面我们来做一个统计网站的访问量测试。

首先创建全局应用程序类,Global.asax文件。

然后在新会话启动时进行以下代码:

Application.Lock
Response.Write('')
Application.Unlock

然后在新会话结束后进行以下代码:

Application.Lock;
Application['count'] = (int)Application['count'] - 1;
Application.Unlock;

然后在一个aspx文件的后端cs文件中输入统计代码:

Label.Text = "您是网站的第" + Application['count'] + “位用户”;

ViewState

在经典 ASP 中,当一个表单被提交时,所有的表单值都会被清空。假设您提交了一个带有大量信息的表单,而服务器返回了一个错误。您不得不回到表单改正信息。您点击返回按钮,然后发生了什么…所有表单值都被清空了,您不得不重新开始所有的一切!站点没有维持您的 ViewState。

在 ASP .NET 中,当一个表单被提交时,表单会连同表单值一起出现在浏览器窗口中。

维持 ViewState 是 ASP.NET Web Forms 的默认设置。EnableViewState属性。

禁用:

<asp:TextBox ID="TextBox1" runat="server" EnableViewState="false"></asp:TextBox>

HiddenField

增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全方面。因为不管是ViewState、Cookie还是Session,都有其失效的时候,比如用户因某种需求设置ViewState为false,或环境条件限制使用Cookie,或用户长时间没有动作导致Session过期等等,那这个时候HiddenField无疑是最佳选择。

HiddenField控件的作用简单的说是用于存储需要在向服务器的发送间保持的值。他作为<input type= "hidden"/>元素呈现 。

发布了8 篇原创文章 · 获赞 4 · 访问量 642

Supongo que te gusta

Origin blog.csdn.net/qq_30871823/article/details/105469293
Recomendado
Clasificación