Логические идеи - создание службы сокращения URL с помощью C # и WCF - PullRequest
1 голос
/ 03 апреля 2011

Мне нужны идеи, как реализовать службу URL Shortener с WCF вместе с сервером sql в качестве базы данных.

Я буду обрабатывать свою логику сокращения URL-адресов с помощью WCF.этот проект будет обрабатывать создание коротких псевдонимов для URL-адресов и записывать их в базу данных с фактическим URL-адресом, чтобы проект, который будет перенаправлять ulrs, мог их использовать.короткие случайные буквы.Я позволю только цифры и буквы в американском алфавите.Также;

  1. должен сделать первый символ числовой цифрой , а второй символ - буквой.отдых может быть чем угодно.Как я могу реализовать эту функцию, чтобы инфраструктура могла создавать для меня случайные псевдонимы.
  2. Во-первых, это создаст слова длиной 4 символа.но что, если не осталось 4 символа длиной неиспользованных слов?как я могу реализовать эту функцию?если не осталось уникальных слов длиной 4 символа, он должен создать слова длиной 5 символов, но первый символ снова должен быть цифрой , а второй символ - буквой.остальные тоже могут быть чем угодно.

Я знаю, что буду использовать класс System.Random внутри mscorlib.dll, но, честно говоря, не знаю много об этом.Более подробно, я не имею ни малейшего представления, как создать случайное уникальное слово с цифровой цифрой и буквами в американском алфавите.

Ответы [ 2 ]

4 голосов
/ 03 апреля 2011

Вы не нуждаетесь в функции Random. Случайность только дает вам шанс на столкновения.

Просто используйте инкремент, цифру, ключ и закодируйте его. Ваша база данных уже предоставляет способ их создания.

Простая кодировка будет Hex (база 16), но вы можете стать короче и интереснее с кодировкой Base 32 (или выше). Я не уверен, что требование «первый символ должно быть числовым» полезно, но его легко выполнить.

И хотя обратимая кодировка кажется логичной, вполне возможно также сохранить сгенерированную кодировку в виде столбца (Ключ) в базе данных и использовать ее для поиска. Это позволяет более необычное кодирование, даже добавляя (случайную) цифру впереди.

1 голос
/ 03 апреля 2011

URL, опубликованный Sapph, хорошо читается. Что касается вашей комбинации WCF / SQL. Очевидно, что вам нужно поместить свои данные куда-нибудь, поэтому SQL Server так же хорош, как и все остальное. Что касается WCF, большинство сервисов сокращения URL используют красивую простую взломанную структуру URL. Это означает, что вы можете вызвать его через JavaScript и получить результат в формате JSON, а также отобразить HTML.

Учитывая этот сценарий, вы можете использовать ASP.NET MVC или службу, размещенную на WCF. Я бы, наверное, пошел с MVC просто потому, что это было бы проще, и вам все равно, вероятно, понадобится какой-то интерфейс.

...