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>")
//<img>
可把指定的路径映射到服务器上相应的物理路径上。
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"/>
元素呈现 。