Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
逻辑思想-使用C#和WCF构建URL缩短器服务_C#_Asp.net_Wcf_Random_Mscorlib - Fatal编程技术网

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

逻辑思想-使用C#和WCF构建URL缩短器服务,c#,asp.net,wcf,random,mscorlib,C#,Asp.net,Wcf,Random,Mscorlib,我需要一些想法,如何实现一个URL缩短服务与WCF连同sql server作为数据库 我将使用WCF处理我的url缩短逻辑。该项目将为url创建短别名,并将它们与实际url一起写入数据库,以便重定向ULR的项目可以使用它们 我需要的逻辑思想是如何创建随机短字母。我只允许使用美式字母的数字和字母。还有, 它应该使第一个字符成为数字,第二个字符成为字母。剩下的可以是任何东西。我如何实现该特性,以便框架可以为我创建随机别名 首先,它将创建4个字符的长单词。但是,如果没有4个字符长未使用的字了怎么办?如

我需要一些想法,如何实现一个URL缩短服务与WCF连同sql server作为数据库

我将使用WCF处理我的url缩短逻辑。该项目将为url创建短别名,并将它们与实际url一起写入数据库,以便重定向ULR的项目可以使用它们

我需要的逻辑思想是如何创建随机短字母。我只允许使用美式字母的数字和字母。还有,

  • 它应该使第一个字符成为数字,第二个字符成为字母。剩下的可以是任何东西。我如何实现该特性,以便框架可以为我创建随机别名
  • 首先,它将创建4个字符的长单词。但是,如果没有4个字符长未使用的字了怎么办?如何实现该功能?如果没有剩下唯一的4个字符长的单词,则应创建5个字符长的单词,但应将第一个字符再次设置为数字,将第二个字符设置为字母。剩下的也可能是这上面的任何东西

  • 我知道我将在mscorlib.dll中使用System.Random类,但老实说,我对它知之甚少。更详细地说,我不知道如何创建一个随机的唯一的单词,其中包含数字和美式字母。

    Sapph发布的URL有一些良好的背景阅读。关于您的WCF/SQL组合。显然,您需要将数据放在某个地方,所以SQLServer是最好的。至于WCF,大多数URL收缩服务都使用一个简单的可黑客攻击的URL结构。这意味着您可以通过JavaScript调用它,并获得JSON结果以及呈现HTML


    在这种情况下,您可以使用ASP.NET MVC或WCF托管服务。我可能会选择MVC,因为它更简单,而且你可能需要某种UI。

    Sapph发布的URL有一些很好的背景阅读。关于您的WCF/SQL组合。显然,您需要将数据放在某个地方,所以SQLServer是最好的。至于WCF,大多数URL收缩服务都使用一个简单的可黑客攻击的URL结构。这意味着您可以通过JavaScript调用它,并获得JSON结果以及呈现HTML


    在这种情况下,您可以使用ASP.NET MVC或WCF托管服务。我可能会选择MVC,因为它更简单,而且您可能需要某种UI。

    您确实需要而不是需要一个随机函数。随机性只会给你一个碰撞的机会

    只需使用递增的数字键并对其进行编码。您的数据库已经提供了创建它们的方法

    简单的编码是十六进制(以16为基数),但以32为基数(或更高)的编码可以使编码更短、更华丽。我不确定“第一个字符应该是数字”的要求是否有用,但它很容易实现


    虽然可逆编码似乎合乎逻辑,但将生成的编码作为列(键)存储在数据库中并用于查找也是非常可行的。这允许更奇特的编码,甚至在前面添加一个(随机)数字

    您不需要一个随机函数。随机性只会给你一个碰撞的机会

    只需使用递增的数字键并对其进行编码。您的数据库已经提供了创建它们的方法

    简单的编码是十六进制(以16为基数),但以32为基数(或更高)的编码可以使编码更短、更华丽。我不确定“第一个字符应该是数字”的要求是否有用,但它很容易实现


    虽然可逆编码似乎合乎逻辑,但将生成的编码作为列(键)存储在数据库中并用于查找也是非常可行的。这允许更奇特的编码,甚至在前面添加一个(随机)数字

    您几乎肯定不希望涉及任何随机性。:)还有,复制品@不,我知道。你没看到这句话吗:rest可以是这个上面的任何东西,这表示我允许随机:)@saph谢谢你的链接,顺便说一句,但这并不完全是我想要的。我更想说的是,使用确定性函数(如提供的Q)几乎肯定是比生成随机字符字符串更好的解决方案。如果发生碰撞怎么办?再次掷骰子?@Sapph这就是我问这个问题的原因。不发生碰撞。但我内心的一些声音在说,我最终会以某种方式使用System.Random类。我错了吗?你几乎肯定不希望有任何随机性还有,复制品@不,我知道。你没看到这句话吗:rest可以是这个上面的任何东西,这表示我允许随机:)@saph谢谢你的链接,顺便说一句,但这并不完全是我想要的。我更想说的是,使用确定性函数(如提供的Q)几乎肯定是比生成随机字符字符串更好的解决方案。如果发生碰撞怎么办?再次掷骰子?@Sapph这就是我问这个问题的原因。不发生碰撞。但我内心的一些声音在说,我最终会以某种方式使用System.Random类。我错了吗?我就是这么想的。我将使用wcf执行逻辑,并将该服务托管在asp.NETMVC应用程序中。因此,我还将提供json、xml结果以及直接将url重定向到实际url。但我这里的问题是如何实现随机字符这一特性。这就是我的想法。我将使用wcf执行逻辑,并将该服务托管在asp.NETMVC应用程序中。因此,我还将提供json、xml结果以及直接将url重定向到实际url。但我这里的问题是如何实现随机字符这一功能。这个解决方案让我在单词中包含字符串字符吗?@tugberk“string chars inside words”对我来说没有任何意义,但在编写这种编码时,你可以