Hola a todos!!!!!!!!!!!!
He desarrollado una aplicación en ASP.NET con Framework 3.5, usando Ajax Tool Kit.
Tengo un ligero problema al montar la aplicación en el servidor de IIS, ya que yo desarrollo usando el ASP.Net Development Server en el cual mi aplicación funciona bien pero cuando lo monto en el servidor de producción no hace ciertas cosas.
En mi pagina utilizo los UpdatePanel, los ModalPopopExtender y un FormView, para la ventana modal que me servira para agrear o actualizar datos de la BD. ahora bien uso los objetos de datos ObjectDataSource en los cuales en su Evento Inserted, Updated y Deleted tengo lo siguiente.
Protected Sub odsContratosGV_Deleted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ObjectDataSourceStatusEventArgs) Handles odsContratosGV.Deleted
If Not Trim(e.ReturnValue) Is String.Empty Then
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), Guid.NewGuid().ToString(), "alert('" + e.ReturnValue + "');", True)
End If
End Sub
En mi maquina local usando el ASP.Net Development Server si me presenta el mensaje de javascript ejecutar la aplicación, pero si yo configura una directorio virtual en mi propia maquina o ya sea en el directorio virtual del servidor de producción donde mi aplicación debe de quedar funcionando no me muestra dichos mensajes.
Que puede estar causando este pequeño detalle.
Tengo unos problemas buscando usuarios en active directory. Cada vez que busco al usuario utiliza el dominio en el que se encuentra el usuario de la maquina pero necesito buscar en multiples dominios, como seria una forma facil de hacer esto?
Saludos.
Para trabajar con el Active Directory con ASP.NET necesitamos utilizar el namesapce:System.DirectoryServicesEste namespace que nos da acceso al Active Directory tiene dos clases que utilizaremos para acceder a los datos de un usuario:DirectoryEntry. Esta clase proporciona una conexión al Active Directory conteniendo los hijos del Active Directory.DirectorySearcher. Esta clase realiza busquedas dentro del Active Directory.Este ejemplo podeis incluirlo en cualquier método, clase o donde quiera utilizarlo. Para ingresar a otros dominios necesita usuario y password delmismo.
Primero define los varoles de busqueda y la ruta del Active Directoy, en nuestro caso buscaremos datos del usuario “pruebas01” en el Active Directory de asmws.com.string username = "pruebas01";string pwd = "pru120!!";string strPath = "LDAP://asmws.com/DC=asmws, DC=com";string strDomain = "asmws"; string domainAndUsername = strDomain + @"\" + username;Creamos una entra al Active Directory que devolverá el árbol en la variable entry.DirectoryEntry entry = new DirectoryEntry(strPath, domainAndUsername, pwd);Realizamos una busqueda sobre la entrada anteriormente seleccionada.DirectorySearcher search = new DirectorySearcher(entry);Filtramos el usuario del que queremos obtener los datos.search.Filter = "name=" + username;Y realizamos una busqueda de todos sus datos.SearchResultCollection results = search.FindAll();El resultado de la busqueda se guarda en un colección SearchResultCollection. Recorriendo esta colección encontraremos sus propiedades.foreach(SearchResult resultados in results) {Creamos una variable para almacenar las propiedades, que será una colección de propiedades, ResultPropertyCollection.ResultPropertyCollection colProperties = resultados.Properties;Y recorremos dicha colección, en el campo Key obtendremos el nombre de la propiedad y en el campo value el valor de dicha propiedad.foreach(string key in colProperties.PropertyNames) { foreach(object value in colProperties[key]) { Response.Write ("" + key.ToString() + ": " + value + " "); }}Trabajar con el Active Directory desde ASP.NET (c#) es bastante sencillo. Este método se puede ampliar a las necesidades y gustos de cada uno.
Saludos y estamos a la orden.
Saludos Rolando.
Observando el error completo me cuenta que es configuración del IIS.
Para solucionar el problema, pida al administrador que cambie el valor del límite de conexiones para el sitio Web.
Esto debería funcionarte .
He desarrollado una aplicación aspx, pero necesito saber si existe la posibilidad de vender la aplicación para que el cliente que la compra la publique en el servidor web de su elección y que el mismo no pueda hacer copias ilegales de la misma o alguna modificación.
Es dificil determinar la fuente del problema sin logs o bitácoras, pero por lo que me suena que es un problema de acceso de datos, relacionado con el abrir y cerrar las conexiones a la base de datos.
Te recomiendo que uses modo desconectado, recuerdad cerrar la conexión al terminar la ejecución de la consulta.
Javier
Saludos esa información la puedes obtener del objeto Request.
Para sacar la IP del cliente debes usar:
c#
Request.Params["REMOTE_ADDR"];
VB
Request.Params("REMOTE_ADDR")
Aqui puedes ver otra variables que se pueden obtener del request.
http://www.4guysfromrolla.com/webtech/092298-3.shtml
Saludos
Hola!
te explico la consulta, tengo mi Web en una intranet y quiero saber de que maquina o de que IP estan accesando a la aplicación; o si puedo asignarle permisos a ciertas maquinas para que accesen a mi web?
saludos
Hola Javier!
Tengo un problema con el sistema web que monté, es un sistema que registra la entrada y salida, y lo tengo en 8 lugares diferentes, osea en 8 maquinas y me da un error, que dice que hay demaciados usuarios accesando; como puedo resolver este problema???
No entiendo mucho la consulta, pero voy a tratar contestarte.
En caso de ser intranet la aplicación se instalaría en algun IIS instaldo en alguna máquina en la red local. Al tener IP asignada le puedes llegar por ahi . o por el nombre de la máquina.
En el caso de querer publicar la aplicación en internet ocupas una IP pública y tener instalado el IIS. Necesitas un dominio...para direccionarlo a tu IP y listo .
Si para algo personal te recomendaria para un hosting para windows con IIS7, como el de godaddy.com.
Gracias por toda la ayuda q me has dado, realmente le he sacado muy buen provecho a este foro....
Tengo otra consulta, como puedo registrar la ip de la maquina en donde se vea la pagina web?
Si es para un control en el formulario entonces utiliza un RegularExpressValidator, introduciendo la expresión regular y asignalo al control. Si a cambio quieres realmente hacer un control, entocnes la mejor forma es utilizar el evento onChange o onKeyPress de Javascript por ejemplo y comprobar los valores introducidos.
Ejemplo JavaScript
JAVASCRIPT: onkeypress="return soloNumeros(event);" function soloNumeros(evt) { // NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57 var key = evt.keyCode ? evt.keyCode : evt.which ; return (key <= 40 || (key >= 48 && key <= 57)); }
Te recomiendo que crees un TextBox Propio.
Mira este ejemplo.
http://www.elguille.info/colabora/puntoNET/hgonzalez_aspnettextboxnumerico.htm
Hola
Como puedo hacer para q un txtBox solo acepte números y no letras? en asp.net
Saludos!
Saludos, cerrar un alert no es posible, se necesita el enter del usuario.
En el mensaje pasado te recomende usar plugins para ese fin. Que muestra un diálogo y se le coloca un timeout para que se cierre automaticamente.
Por otro lado colocarle timeout a un alert tradicional no es posible.
Te recomiendo que utilices algún pluging de javascript para ese fin, como
http://plugins.jquery.com/project/modaldialog
$.modaldialog.success('Autoclosing in 5 seconds.', { timeout: 5 , showClose: false });
http://tautologistics.com/projects/jquery.modaldialog/doc/1.0.0/
Puedes usa Ajax con el ModalPopup
http://www.asp.net/AJAX/AjaxControlToolkit/Samples/ModalPopup/ModalPopup.aspx
hola!
Como puedo hacer para que un alert solo se muestre durante x segundos y vuelva a la pagina principal, sin necesidad de dar enter o aceptar???
saludos!
Como puedo hacer para que un alert se muestre durante x segundos, y vuelva a la pagina de inicio??, sin necesidad de dar enter??
El caso del timer lo puedes resolver usando AJAX extensions de VS2008. Necesitas un sciptmanager, un updatepanel y un timer. La idea es que el timer forzará el postback cada n milisegundos y refrescará el panel. Ahi te adjunto un demo. En este caso el form se actualiza cada 6 segundos.
Hola!!
Quisiera saber como puedo manejar el tiempo de un form o de un alert, pues la opción del timer no está habilitada!
Gracias por toda tu ayuda!!
Saludos, efectivamente envíar mensajes al cliente con la clase MessageBox de Windows.Forms, no es lo más recomendable en un escenario web.
Cuando desarrollabas localmente funcionaba por que tanto el cliente y el server son lo mismo, pero al hacer deploy, el tratará de lanzar el mensaje en el server no en el cliente que esta haciendo el request a la página.
Para resolver tu caso te recomiendo que envíes el mensaje mediante un alert de javascript o que utilices un mensaje modal de ajax.
En el caso de enviar un alert puedes escribir este código
try{ /* do something here */}catch(Exception MyException){ Response.Write("<script language='javascript'>window.alert("+ '"' + MyException.Message + '"' +");</script>");}
en c#
ó en VB
try 'codigo deseadocatch(ex as Exception ) Response.Write("<script language='javascript'>window.alert("+ '"' + ex.Message + '"' +");</script>")
end try
Otra opción es usar Page.ClientScript.RegisterClientScriptBlock, mirá este link
http://www.beansoftware.com/ASP.NET-Tutorials/Message-Box.aspx
Tengo problemas, puse unos msgbox de aviso en mi pagina web, pero a la hora de mostrarlos la pagina me da error , pero cuando eliminó estos mensajes la pagina funciona perfectamente!
Línea 66: datosRegistro.NombreRegistro = nombreCedula Línea 67: objConexion.insertarRegistro(datosRegistro) Línea 68: MsgBox("Empleado registrado Satisfactoriamente" & " " & _ Línea 69: "Hora de Ingreso" & " " & lblHora.Text, MsgBoxStyle.Information) Línea 70:
[InvalidOperationException: No se puede mostrar un cuadro de diálogo o formulario modal cuando la aplicación no está en modo UserInteractive. Especifique el estilo ServiceNotification o DefaultDesktopOnly para mostrar una notificación de una aplicación de servicio.] System.Windows.Forms.MessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, Boolean showHelp) +2662442 System.Windows.Forms.MessageBox.Show(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options) +26 Microsoft.VisualBasic.Interaction.MsgBox(Object Prompt, MsgBoxStyle Buttons, Object Title) +560 CapturaAsistencia.WebForm1.txtCedula_TextChanged(Object sender, EventArgs e) in C:\ConsultaAsistencia\CapturaAsistencia\CapturaAsistencia\WebForm1.aspx.vb:68 System.Web.UI.WebControls.TextBox.OnTextChanged(EventArgs e) +8739438 System.Web.UI.WebControls.TextBox.RaisePostDataChangedEvent() +55 System.Web.UI.WebControls.TextBox.System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent() +10 System.Web.UI.Page.RaiseChangedEvents() +165 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1485
Información de versión: Versión de Microsoft .NET Framework:2.0.50727.3082; Versión ASP.NET:2.0.50727.3082