Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
sp:aspnet [2009/08/20 17:17] alfred |
sp:aspnet [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 190: | Línea 190: | ||
| === GAC === | === GAC === | ||
| Como toda aplicación en .NET, las creadas con aspnet pueden acceder a los ensamblados ubicados en la //Global Assembly Cache//. | Como toda aplicación en .NET, las creadas con aspnet pueden acceder a los ensamblados ubicados en la //Global Assembly Cache//. | ||
| + | |||
| Línea 212: | Línea 213: | ||
| En el web.config podemos definir el tiempo que se mantiene la sesión activa (por defecto 20 minutos): | En el web.config podemos definir el tiempo que se mantiene la sesión activa (por defecto 20 minutos): | ||
| <code xml> | <code xml> | ||
| - | <sessionState | + | <configuration> |
| - | timeout="40" | + | <system.web> |
| - | /> | + | <sessionState timeout="40" /> |
| </code> | </code> | ||
| Si las cookies no están activas, la sesión puede ser tratada a partir de un identificador en la URL, para ello agregaremos lo siguiente al web.config: | Si las cookies no están activas, la sesión puede ser tratada a partir de un identificador en la URL, para ello agregaremos lo siguiente al web.config: | ||
| Línea 349: | Línea 350: | ||
| ===== Algunos elementos básicos ===== | ===== Algunos elementos básicos ===== | ||
| + | |||
| ==== Response ==== | ==== Response ==== | ||
| Línea 357: | Línea 359: | ||
| </code> | </code> | ||
| - | + | === Otros === | |
| - | + | * ''Clear'': Elimina lo que se ha escrito hasta ahora. | |
| - | + | * ''ContentType'': Indica el tipo de contenido que se envia para que según este sea tratado por el navegador. | |
| - | + | ||
| - | + | ||
| - | + | ||
| ==== Clase Page ==== | ==== Clase Page ==== | ||
| Línea 526: | Línea 524: | ||
| * Esquema del ciclo de vida página: {{sp:asp:ct.png?10|Esquema}} | * Esquema del ciclo de vida página: {{sp:asp:ct.png?10|Esquema}} | ||
| + | |||
| Línea 577: | Línea 576: | ||
| Response.Cookies.Clear(); | Response.Cookies.Clear(); | ||
| </code> | </code> | ||
| + | Aunque si existen problemas para la eliminación: | ||
| + | <code csharp> | ||
| + | HttpCookie c1 = Request.Cookies["userName"]; | ||
| + | if (c1 != null) | ||
| + | { | ||
| + | Request.Cookies.Remove("userName"); | ||
| + | c1.Expires = DateTime.Now.AddDays(-10); | ||
| + | c1.Value = null; | ||
| + | Response.SetCookie(c1); | ||
| + | } | ||
| + | </code> | ||
| === Cookies con varios valores === | === Cookies con varios valores === | ||
| Para crear una cookie con varios valores lo haremos como si fuese un array multidimensional. \\ | Para crear una cookie con varios valores lo haremos como si fuese un array multidimensional. \\ | ||
| Línea 856: | Línea 865: | ||
| ===== WebServices ===== | ===== WebServices ===== | ||
| + | |||
| + | |||
| + | |||
| Línea 895: | Línea 907: | ||
| } | } | ||
| </code> | </code> | ||
| + | * En el ''HttpContext'' podemos recoger los parámetros mediante la ''QueryString'' (GET) o el ''Form'' (POST). | ||
| + | * Si el controlador necesita leer la sesión del usuario que hace la petición necesitará implementar la interfaz ''System.Web.SessionState.IReadOnlySessionState'', si además necesitase guardarla implementaría la ''IRequiresSessionState''. | ||
| ===== Notas ===== | ===== Notas ===== | ||
| + | |||
| + | |||
| ==== Como... ==== | ==== Como... ==== | ||
| === Agregar una librería === | === Agregar una librería === | ||
| Línea 906: | Línea 922: | ||
| <code xml> | <code xml> | ||
| <scs:ScsComboBox ID="dest" runat="server" EnableDefaultItem="false" Width="100px"/> | <scs:ScsComboBox ID="dest" runat="server" EnableDefaultItem="false" Width="100px"/> | ||
| + | </code> | ||
| + | === Saber ubicación de la aplicación en disco === | ||
| + | Como lo hacemos en cualquier aplicación .NET simplemente tendríamos que consultar: | ||
| + | <code csharp> | ||
| + | string bdir = System.AppDomain.CurrentDomain.BaseDirectory; | ||
| + | </code> | ||
| + | === Acceder al Request\Response sin tener acceso a la clase Page === | ||
| + | <code csharp> | ||
| + | HttpContext.Current.Request.MapPath("~/"); | ||
| </code> | </code> | ||