lunes, 12 de julio de 2010
Contador regresivo en JavaScript
var tiempo = 10;
function ContadorRegresivo()
{
var valor = document.getElementById('tiempo');
valor.value = tiempo;
tiempo = tiempo-1;
if (tiempo > -1)
{
setTimeout("ContadorRegresivo()", 1000);
}
}
function InicializarContador()
{
tiempo = 10;
ContadorRegresivo();
}
lunes, 5 de julio de 2010
Error con el ambiente de Visual Studio 2010
Se debe ingresar el comando devenv /resetskippkgs
martes, 13 de abril de 2010
Hacer que la página expire
Muchas veces se requiere que una página se cargue en su totalidad, en ocasiones para evitar que el navegador despliegue nuevamente los datos que se ingresaron la última vez que se presentó la página
Para evitar esto se debe quitar la página del cache agregando las siguientes instrucciones
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Código en Vb.net
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.Cache.SetNoStore()
lunes, 29 de marzo de 2010
Como instalar un servicio desarrollado en .net
Para instalarlo se ejecuta desde la línea de comando de .net la siguiente instrucción
installutil “ruta del ejecutable”
para desinstalar se ejecuta la siguiente
installutil /u “ruta del ejecutable”
viernes, 5 de marzo de 2010
Agregar usuario en Active Directory desde .net (C# Framework 3.5)
using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;
string Nombre,
string Apellido,
string PasswordEncriptado,
string email,
bool forzarCambioClave,
bool ClaveNoExpira,
bool UsuarioHabilitado)
{
try
{
string[] arrTokens = _domainName.Split(new char[] { '.' }, 100, StringSplitOptions.None);
string LDAPDomainPath = this._ouName + ",DC=" + string.Join(",DC=", arrTokens);
//Contexto del active directory (Raíz)
PrincipalContext insPrincipalContext = new PrincipalContext(ContextType.Domain, this._serverName + "." + this._domainName, LDAPDomainPath, "UsuarioConPrivilegiosEnElAD", "ClaveDelMismo");//"domainController.Dominio.com" "Dominio.com","DC=dominio,DC=com"
//Creamos el nuevo usuario
UserPrincipal user = new UserPrincipal(insPrincipalContext, pUsuario.Trim(), PasswordEncriptado, UsuarioHabilitado);
//Nombre de la entidad de seguridad
user.GivenName = Nombre.Trim();
user.DisplayName = Nombre.Trim();
//Apellido del Usuario
user.Surname = (Apellido == "") ? Nombre.Trim() : Apellido.Trim();
//Usuario @ Dominio
user.UserPrincipalName = pUsuario.Trim().ToLower() + "@" + _domainName;
if (Cedula.Length < 20)
user.SamAccountName = Cedula.Trim().ToLower();
else
user.SamAccountName = Cedula.Trim().Substring(0, 20).ToLower();
//Seteamos el correo
if (email.Trim() != "")
user.EmailAddress = email;
//force the user to change password at next logon
if (forzarCambioClave)
user.ExpirePasswordNow();
//El password no expira
if (ClaveNoExpira)
user.PasswordNeverExpires = true;
//save the user to the directory
user.Save();
return "true,Usuario incluido satisfactoriamente";
}
catch (Exception ex)
{
return "false," + ex.Message;
}
}
miércoles, 27 de enero de 2010
Pasar valores a una ventana padre de un popup
<script type="text/javascript">
function Salir() {
window.opener.document.getElementById('TextBox1').value = document.getElementById('texto').value; //Aqui asigna el valor al textbox del padre
window.opener.document.getElementById('form1').submit(); //hace le hace el submit al padre
window.close(); //cierra el popup
}
</script>
lunes, 4 de enero de 2010
Crear un servicio de Windows con intervalo
En el archivo Designer.cs del servicio se deben modificar las siguientes líneas
private void InitializeComponent(){
this.mytimer = new System.Timers.Timer();((System.ComponentModel.
ISupportInitialize)(this.mytimer)).BeginInit(); // // mytimer // this.mytimer.Enabled = true; this.mytimer.Interval = 300000; //El equivalente en milisegundos en este caso son 5 minutos this.mytimer.Elapsed += new System.Timers.ElapsedEventHandler(this.mytimer_Elapsed); // // Nombre del Servicio//
this.ServiceName = "Nombre del Servicio";((System.ComponentModel.
ISupportInitialize)(this.mytimer)).EndInit();}
Luego en el código del servicio de programan los siguientes metodos
protected override void OnStart(string[] args)
{
//Se ejecuta cuando se inicia el proceso
}
protected override void OnStop()
{
//Se ejecuta cuando se ejecuta el proceso
}
private void mytimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//Se ejecuta una vez que ha trascurrido el tiempo definido en el
//Timer
}