예제 #1
0
        public async Task SaveCookie(string filename, CookieContainer rcookie, Uri uri)
        {
            StorageFolder localFolder = ApplicationData.Current.LocalFolder;
            StorageFile   sampleFile  = await localFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting);

            using (StorageStreamTransaction transaction = await sampleFile.OpenTransactedWriteAsync())
            {
                CookieSerializer.Serialize(rcookie.GetCookies(uri), uri, transaction.Stream.AsStream());
                await transaction.CommitAsync();
            }
        }
예제 #2
0
        public void A_Cookie_Collection_Can_Be_Serialized()
        {
            //Arrange
            var cookies = new CookieCollection {
                new Cookie("foo", "bar")
            };
            var cookieStream = new MemoryStream();

            //Act
            CookieSerializer.Serialize(cookies, new Uri("http://foo.com"), cookieStream);

            //Assert
            Assert.IsTrue(cookieStream.Length > 0);
        }
예제 #3
0
        public void A_Cookie_Collection_Can_Be_Deserialized()
        {
            //Arrange
            var uri     = new Uri("http://foo.com");
            var cookies = new CookieCollection {
                new Cookie("foo", "bar")
            };
            var cookieStream = new MemoryStream();

            //Act
            CookieSerializer.Serialize(cookies, uri, cookieStream);
            cookieStream.Seek(0, SeekOrigin.Begin);
            var deserialized = CookieSerializer.Deserialize(uri, cookieStream);

            //Assert
            Assert.AreEqual(1, deserialized.Count);
            Assert.IsNotNull(deserialized.GetCookies(uri)["foo"]);
        }
예제 #4
0
        public async Task <CookieContainer> LoadCookie(string filename)
        {
            StorageFolder localFolder = ApplicationData.Current.LocalFolder;

            try
            {
                StorageFile sampleFile = await localFolder.GetFileAsync(filename);

                using (Stream stream = await sampleFile.OpenStreamForReadAsync())
                {
                    return(CookieSerializer.Deserialize(new Uri(Constants.COOKIE_DOMAIN_URL), stream));
                }
            }
            catch
            {
                //Ignore, we will ask for log in information.
            }
            return(new CookieContainer());
        }