示例#1
0
        public async Task <ShortUrl> GetUrlByPathAsync(string path)
        {
            await EnsureSetupAsync();

            var documentCollectionUri = UriFactory.CreateDocumentCollectionUri(_databaseId, _collectionId);

            var result = _client.CreateDocumentQuery <ShortUrl>(documentCollectionUri)
                         .Where(su => su.UrlId == ShortUrlHelper.Decode(path)).AsEnumerable().FirstOrDefault();

            return(result);
        }
示例#2
0
        public void OnBeginRequest(Object source, EventArgs e)
        {
            var context = (HttpApplication)source;

            if (context.Request.Url.AbsolutePath.Contains("/url/"))
            {
                var path = context.Request.Url.AbsolutePath.Remove(0, 1);
                var id   = ShortUrlHelper.Decode(path);
                using (var DBcontext = new UrlShortenerContext())
                {
                    var query = from item in DBcontext.ShortUrls
                                where item.Id == id
                                select item.OriginalUrl;

                    var redirectPath = query.FirstOrDefault();
                    if (redirectPath != null)
                    {
                        context.Response.Redirect(redirectPath);
                    }
                }
            }
        }
示例#3
0
 public ShortenedUrl GetByPath(string path)
 {
     return(_context.ShortUrls.Find(ShortUrlHelper.Decode((path))));
 }