jueves, 23 de diciembre de 2021

CryptographicException no se manejó: el sistema no puede encontrar el archivo especificado

 Si tenemos este error al ejecutar algun proceso sea certificado digital u otro desde el IIS, tenemos que realizar lo siguiente.

Configurar en el IIS el grupo de aplicaciones

Luego dar click en configuracion avanzada.

En Modelo de proceso, establecer Carga Perfil a true.

Listo

viernes, 20 de agosto de 2021

C# Instalar Windows Services App


Hola a todos,

Directo a la acccion!

 Como instalamos una app de tipo windows services en c#.


Entramos al CMD.

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 

InstallUtil.exe + your project file path +bin\debug+\yourservicename.exe



Listo

martes, 17 de agosto de 2021

Error en SSL - Web Api

 Cuando tengamos un error de SSL en nuestros web api,  lo podemos solucionar de la siguiente manera,

agregando esta linea de codigo.Antes de invocar al API.


ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;



ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; 


                json = JsonConvert.SerializeObject(rq);

                request.AddHeader("usuario", userWs);

                request.AddHeader("clave", passWs);

                request.AddParameter("application/json", json, ParameterType.RequestBody);


martes, 3 de agosto de 2021

C# Web Api - Convertir PDF en base64 - Request y Response

 Estimados, aqui una vez mas en esta ocasion veremos como interpretar o convertir una cadena base64 en un archivo asi como tambien convertir un documento en este caso pdf en un string base64, les pongo el caso que tuve que realizar, recibir un archivo pdf por un web api y enviar un pdf por medio de este web api, aqui vamos!

Byte[] bytes = Convert.FromBase64String(Archivobase64);

File.WriteAllBytes(RutaArchivoCompleto, bytes);

Donde Archivobase64 es la cadena con base64, osea aqui recepcionamos la cadena lo convertimos a bytes y este lo mandamos a una carpeta,osea este seria el api que recepciona,

Ahora veremos el api que envia, osea quien consume este api para enviarle.


string[] ListaPDF = Directory.GetFiles(rutaArchivo, mipdf + ".pdf");

                if (ListaPDF.Length > 0)

                { 

            byte[] archivoBytes = System.IO.File.ReadAllBytes(ListaPDF[0].ToString()));

            string archivoBase64String = Convert.ToBase64String(archivoBytes);

            

                }

                

Aqui archivoBase64String ya tendria toda la cadena lista para enviarla.

Slds





                

lunes, 19 de julio de 2021

Listado de Crystal Report RUNTIME

Hola a todos ,


Aqui podran descargar todos los CR Runtime que necesiten de acuerdo al CR que usen.


 https://www.tektutorialshub.com/crystal-reports/how-to-download-and-install-crystal-report-runtime/

miércoles, 5 de mayo de 2021

CONSUMIR SERVICIO WEB SOAP - AUTENTIFICACION BASICAUTH

 Estimados,


En esta ocasion veremos como consumir un servicio web AUTENTIFICACION BASICAUTH, para ello despues de consumir el SW, tenemos que modificar lo siguiente en el web.config, deberia de quedar algo asi.


 <binding name="RecepcionOC_PortType_IniciarRecepcionOC_REQUEST_binding">

<!--   <security mode="Transport"  /> -->

<!--Para un SOAP DE MANERA SEGURA CON Aut Basic AGREGAR ESTO INICIO-->

<security mode="Transport">

<!--<security mode="None">-->

<!--<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>

<message clientCredentialType="UserName" algorithmSuite="Default"/> -->


<transport clientCredentialType="Basic" proxyCredentialType="None" realm=""/>

<message clientCredentialType="UserName" algorithmSuite="Default"/>


</security>

<!--FINALIZA Basic-->

    </binding>

   

y en el .CS


SRVRecepcionOC_ENTEL.RecepcionOC_PortType_IniciarRecepcionOC_REQUESTClient 

                oRecepcionOC_PortType_IniciarRecepcionOC_REQUESTClient = new SRVRecepcionOC_ENTEL.RecepcionOC_PortType_IniciarRecepcionOC_REQUESTClient();

             

            oRecepcionOC_PortType_IniciarRecepcionOC_REQUESTClient.ClientCredentials.UserName.UserName= "USER_BASICAUTH";

            oRecepcionOC_PortType_IniciarRecepcionOC_REQUESTClient.ClientCredentials.UserName.Password= "PASSWORD_BASICAUTH";

            


            SRVRecepcionOC_ENTEL.recepcionOCRequest orecepcionOCRequest = new SRVRecepcionOC_ENTEL.recepcionOCRequest();

 

            SRVRecepcionOC_ENTEL.rtaType[] ortaType = oRecepcionOC_PortType_IniciarRecepcionOC_REQUESTClient.recepcionOC(orecepcionOCRequest);


            string Rpta = "";

            int RptaInt = 0;

            if (ortaType != null) {

                

                foreach (SRVRecepcionOC_ENTEL.rtaType prtaType in ortaType)

                {

                    RptaInt = prtaType.XV_COD_RPTA;

                    Rpta = prtaType.XV_MSG_RPTA.ToString();

                }

            }