Seek() public méthode

public Seek ( long offset, SeekOrigin origin ) : long
offset long
origin SeekOrigin
Résultat long
Exemple #1
0
        public byte[] ReadBinary()
        {
            AssertExists();

            LastAccessTimeUtc = TimeService.Current.Now;

            _stream.Open();
            _stream.Seek(0, SeekOrigin.Begin);
            byte[] buffer = new byte[_stream.Length];
            _stream.Read(buffer, 0, buffer.Length);
            return(buffer);
        }
Exemple #2
0
        public Stream GetResponseStream(string uri, long progress, Func <GetCredentialsEventArgs, bool> getCredentials, out long contentLength)
        {
            var response = _responses[uri];

            if (response == null)
            {
                throw new WebException("404 File not found");
            }

            if (_credentials.ContainsKey(uri))
            {
                bool hasValidCredentials = false;
                if (getCredentials != null)
                {
                    var args = new GetCredentialsEventArgs();
                    while (getCredentials(args))
                    {
                        if (_credentials[uri].Key == args.UserName && _credentials[uri].Value == args.Password)
                        {
                            hasValidCredentials = true;
                            break;
                        }
                    }
                }

                if (!hasValidCredentials)
                {
                    throw new WebException("401 Unauthorized");
                }
            }
            contentLength = response.Data.Length;
            var stream = new MockStream(response.Data);

            if (response.OnRead != null)
            {
                stream.OnRead += response.OnRead;
            }
            if (response.OnWrite != null)
            {
                stream.OnWrite += response.OnWrite;
            }
            stream.Open();
            stream.Seek(progress, SeekOrigin.Begin);
            return(stream);
        }
        public Stream GetResponseStream(string uri, long progress, Func<GetCredentialsEventArgs, bool> getCredentials, out long contentLength)
        {
            var response = _responses[uri];

            if (response==null)
            {
                throw new WebException("404 File not found");
            }

            if (_credentials.ContainsKey(uri))
            {
                bool hasValidCredentials = false;
                if (getCredentials != null)
                {
                    var args = new GetCredentialsEventArgs();
                    while (getCredentials(args))
                    {
                        if (_credentials[uri].Key==args.UserName && _credentials[uri].Value==args.Password)
                        {
                            hasValidCredentials = true;
                            break;
                        }
                    }
                }

                if (!hasValidCredentials)
                {
                    throw new WebException("401 Unauthorized");
                }
            }
            contentLength = response.Data.Length;
            var stream = new MockStream(response.Data);
            if (response.OnRead != null) stream.OnRead += response.OnRead;
            if (response.OnWrite != null) stream.OnWrite += response.OnWrite;
            stream.Open();
            stream.Seek(progress, SeekOrigin.Begin);
            return stream;
        }