agregar lo siguiente en el appSettings del web.config:
<add key="aspnet:MaxHttpCollectionKeys" value="2147483647" />
<add key="aspnet:MaxJsonDeserializerMembers" value="2147483647" />
lunes, 12 de diciembre de 2016
jueves, 13 de octubre de 2016
Web config en Servicio WCF
Hola a todos, al elaborar y publicar servicios WCF, muchas veces no recordamos que colocar en el config; por tal motivo les comparto un ejemplo básico de lo que debería contener:
<add baseAddress="http://localhost:8732/Design_Time_Addresses/SMV.EncuestaSC.WCF/ServiceSC/" />
por la url que corresponda en el servidor web.
Nota:
Al publicar tu servicio, se deberá modificar la url de la sección :<add baseAddress="http://localhost:8732/Design_Time_Addresses/SMV.EncuestaSC.WCF/ServiceSC/" />
por la url que corresponda en el servidor web.
viernes, 22 de julio de 2016
COM Excel - Word error: 80070005 Acceso denegado IIS
En mi caso, mi aplicación al tratar de modificar un archivo excel me mostraba el siguiente error:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied.
la solución que encontré es lo siguiente:
a) Si la app se esta usando ApplicationPoolIdentity, realizar lo siguiente:
- Presionar las teclas “Windows + R”; ingresar el texto dcomcnfg y presionar el botón Aceptar
- Servicios de componentes -> Equipos -> Mi PC -> Configuración DCOM, buscar “Microsoft Excel Application” y seleccionar botón derecho propiedades.
- En Pestaña Identidad, elegir la opción "El usuario interactivo"
- En pestaña Seguridad, editar para todos los “Customize”, el usuario “IIS_IUSRS“ (si no lo encuentras, búscalo en localización: “Servidor” )
b) Si la app esta usando usuario de aplicación, otra opción sería realizar lo siguiente:
- Presionar las teclas “Windows + R”; ingresar el texto dcomcnfg y presionar el botón Aceptar
- Servicios de componentes -> Equipos -> Mi PC -> Configuración DCOM, buscar “Microsoft Excel Application” y seleccionar botón derecho propiedades.
- En Pestaña Identidad, elegir la opción "Este Usuario" (colocar el usuario de aplicación)
(*)Si es archivo word:
realizar los mismos pasos anteriores, pero buscar " Documento Microsoft Word " y / o " Aplicación Microsoft Word " o “Microsoft Word 97 -2003 Document” o algo que diga Word. si aun no encuentra buscar "{00020906-0000-0000-C000-000000000046}".
miércoles, 20 de julio de 2016
ImageButton error Sys.WebForms.PageRequestManagerServerErrorException
Hola..
Posiblemente al trabajar con ImageButton; se les presente el siguiente error:
Sys.WebForms.PageRequestManagerServerErrorException input string was not in a correct format
La solución que encontré después de buscar durante dias :'( fue agregar lo siguiente despues del tag HTML:
viernes, 10 de junio de 2016
Enviar correo con imágenes incrustadas
Hola a todos.
Por si alguna vez les piden que envíen correos con imágenes; acá les comparto una forma de poder realizarlo:
Public Sub CorreoNet(ByVal CorreoDestinatario As String, CorreoDestinatarioCopia As String, ByVal CorreoRemitente As String, ByVal Name As String, _
ByVal Asunto As String, ByVal Host As String)
'Mensaje:
Dim Mensaje = "Hola mundo... cargando imagen:
"
Dim reader = File.ReadAllBytes("D:\Demo\Imagenes\iGrupo.png")
Dim image1 = New MemoryStream(reader)
Dim av = AlternateView.CreateAlternateViewFromString(Mensaje, Nothing, System.Net.Mime.MediaTypeNames.Text.Html)
Dim headerImage = New LinkedResource(image1, System.Net.Mime.MediaTypeNames.Image.Jpeg)
headerImage.ContentId = "companyLogo"
headerImage.ContentType = New Mime.ContentType("image/png")
av.LinkedResources.Add(headerImage)
'Configuracion Mensaje:
Dim Correo = New Mail.MailMessage()
Correo.To.Add(CorreoDestinatario)
If Not CorreoDestinatarioCopia = "" Then Correo.CC.Add(CorreoDestinatarioCopia)
Correo.From = New Mail.MailAddress(CorreoRemitente, Name, Encoding.UTF8)
Correo.Subject = Asunto
Correo.SubjectEncoding = Encoding.UTF8
'Correo.Body = Mensaje
Correo.AlternateViews.Add(av)
Correo.BodyEncoding = Encoding.UTF8
Correo.Priority = Mail.MailPriority.High
Correo.IsBodyHtml = True
'Configuracion SMTP:
Dim Servidor = New Mail.SmtpClient
Servidor.Host = Host
'Enviar Correo:
Try
Servidor.Send(Correo)
Catch ex As Mail.SmtpException
Throw ex
End Try
End Sub
End Class
Ademas deberás incluir incluir los siguientes "Imports":
Imports System.Net
Imports System.Text
Imports System.IO
Imports System.Net.Mail
Saludos.
martes, 22 de marzo de 2016
GroupBy usando expresiones lambda
A continuación, voy a mostrarles como utilizar GroupBy con expresiones lambda. Para estos ejemplos se utilizará la siguiente lista:
Caso 1: Agrupación por solo un campo + operador adicional
en el siguiente ejemplo se obtiene la suma de "Sueldos" por año.
Caso 2: Agrupación por varios campos + operador adicional
en el siguiente ejemplo se obtiene la suma de "Sueldos" por año y número.
Caso 3: Uso de GroupBy como reemplazo del Distinct
el siguiente ejemplo aplica el distinct sobre el campo: "ANIO":
en caso se tenga se tenga que aplicar varios campos se utilizará lo siguiente:
Saludos
Dim lista As New List(Of Object)
lista.Add(New With {.ANIO = 2014, .NUMERO = "1521", .SUELDO = 10})
lista.Add(New With {.ANIO = 2015, .NUMERO = "1521", .SUELDO = 20})
lista.Add(New With {.ANIO = 2015, .NUMERO = "1522", .SUELDO = 5})
lista.Add(New With {.ANIO = 2015, .NUMERO = "1522", .SUELDO = 5})
Caso 1: Agrupación por solo un campo + operador adicional
en el siguiente ejemplo se obtiene la suma de "Sueldos" por año.
Dim p1 = lista.GroupBy(Function(g) g.ANIO).Select(Function(a) New With {.numero = a.Key,
.sum = a.Sum(Function(p) p.SUELDO)}).ToList
Caso 2: Agrupación por varios campos + operador adicional
en el siguiente ejemplo se obtiene la suma de "Sueldos" por año y número.
Dim p2 = lista.GroupBy(Function(g) New With {Key g.ANIO, Key g.NUMERO}). _
Select(Function(a) New With {.anio = a.Key.ANIO,
.num = a.Key.NUMERO,
.sum = a.ToList.Sum(Function(p) p.SUELDO)}).ToList
Caso 3: Uso de GroupBy como reemplazo del Distinct
el siguiente ejemplo aplica el distinct sobre el campo: "ANIO":
Dim p3 = lista.GroupBy(Function(g) g.ANIO).Select(Function(a) a.First).ToList
en caso se tenga se tenga que aplicar varios campos se utilizará lo siguiente:
Dim p4 = lista.GroupBy(Function(g) g.ANIO And g.NUMERO).Select(Function(a) a.First).ToList
Saludos
Suscribirse a:
Comentarios (Atom)


