Ejemplo n.º 1
0
        public static async Task Media_SaveFrontendIcon(GrpcChannel channel, SaveFrontendIconRequest request)
        {
            try
            {
                using (FileStream fs = File.OpenRead(Path.GetFileName(request.FilePath)))
                {
                    using (MemoryStream ms = new MemoryStream())
                    {
                        fs.CopyTo(ms);

                        var client = new Media.MediaClient(channel);

                        var reply = await client.SaveFrontendIconAsync(new SaveFrontendIconRequest
                        {
                            FilePath = request.FilePath,
                            FileData = Google.Protobuf.ByteString.CopyFrom(ms.ToArray()),
                            Req      = new REQ {
                                Guid = Guid.NewGuid().ToString("N")
                            }
                        }, deadline : DateTime.Now.AddMinutes(2));

                        Console.WriteLine("Response: " + JsonSerializer.Serialize(reply.Res));
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Ejemplo n.º 2
0
        public MediaClient(EndpointAddress epa, string username, string password)
        {
            var httpBinding = new HttpTransportBindingElement
            {
                AuthenticationScheme = AuthenticationSchemes.Digest
            };

            var messageElement = new TextMessageEncodingBindingElement
            {
                MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None)
            };

            var bind = new CustomBinding(messageElement, httpBinding);

            Client = new Media.MediaClient(bind, epa);
            if (!string.IsNullOrWhiteSpace(username) && !string.IsNullOrWhiteSpace(password))
            {
                var behavior = new PasswordDigestBehavior(username, password);
                Client.Endpoint.EndpointBehaviors.Add(behavior);
            }
        }