public async Task <string> CargarCancion(byte[] cancion)
        {
            //GrpcChannelOptions grpcChannelOptions = new GrpcChannelOptions();

            //grpcChannelOptions.Credentials = ChannelCredentials.Insecure;
            AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);


            var httpHandler = new HttpClientHandler();

            httpHandler.ServerCertificateCustomValidationCallback =
                HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

            ByteString datos = ByteString.CopyFrom(cancion);

            string idArchivo = null;

            using var channel = GrpcChannel.ForAddress(DatosDeServicios.URLMSArchivo, new GrpcChannelOptions { HttpHandler = httpHandler });
            var client = new Archivador.ArchivadorClient(channel);

            var respuesta = await client.SolicitarGuardarArchivoAsync(new Archivo { Datos = datos });

            idArchivo = respuesta.Id;
            return(idArchivo);
        }
예제 #2
0
        public async Task <byte[]> DescargarCancion(string idCancion)
        {
            //GrpcChannelOptions grpcChannelOptions = new GrpcChannelOptions();
            //grpcChannelOptions.Credentials = ChannelCredentials.Insecure;
            AppContext.SetSwitch("System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport", true);
            var httpHandler = new HttpClientHandler();

            httpHandler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

            using var channel = GrpcChannel.ForAddress(DatosDeServicios.URLMSArchivo, new GrpcChannelOptions { HttpHandler = httpHandler, Credentials = ChannelCredentials.Insecure, MaxReceiveMessageSize = 15 * 1024 * 1024 });
            var client = new Archivador.ArchivadorClient(channel);

            var respuesta = await client.SolicitarDescargarArchivoAsync(new IdArchivo { Id = idCancion });

            return(respuesta.Datos.ToArray());
        }