逻辑思路 - 使用C#和WCF构建URL缩短服务

我需要一些想法如何使用WCF和sql server作为数据库实现URL Shortener Service。 我将使用WCF处理我的网址缩短逻辑。此项目将处理为url创建短别名并使用实际url将其写入数据库,以便重定向ulrs的项目可以使用它们。 我需要的逻辑思路是如何创建短随机字母。我只允许使用美式字母表中的数字和字母。也; 它应该使第一个char成为数字,第二个char成为一个字母。休息可能是什么。我该如何实现该功能,以便框架可以为我创建随机别名。 首先,它将创建4个字符长的单词。但如果没有留下4个字符长的未使用的字怎么办?我该如何实现该功能?如果没有唯一的4个字符长字,它应该创建5个字符长字,但它应该使第一个字符串再次为数字,第二个字符串为字母。休息也可以是这方面的任何事情。 我知道我将在mscorlib.dll中使用System.Random类,但老实说,不太了解它。更详细地说,我不知道如何使用美式字母表中的数字和字母创建随机唯一单词。     
已邀请:
您不需要随机功能。随机性只会让你有机会发生碰撞。 只需使用递增的数字键,然后对其进行编码。您的数据库已经提供了创建它们的方法。 一个简单的编码将是Hex(基数为16),但是你可以通过基本的32(或更高)编码变得更短,更漂亮。我不确定“第一个字符应该是数字”的要求是否有用,但它很容易实现。 虽然可逆编码似乎是合乎逻辑的,但将生成的编码作为列(Key)存储在数据库中并将其用于查找也是非常可行的。这允许更多花哨的编码,甚至在前面添加(随机)数字。     
Sapph发布的网址有一些很好的背景阅读。关于您的WCF / SQL组合。显然你需要把你的数据放在某个地方,所以SQL Server和任何东西一样好。至于WCF,大多数URL收缩服务都使用一个简单的hackable URL结构。这意味着您可以通过JavaScript调用它并获取JSON结果以及呈现HTML。 鉴于该场景,您可以使用ASP.NET MVC或WCF托管服务。我可能只是因为它更容易而且你可能需要某种用户界面来使用MVC。     

要回复问题请先登录注册