gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 20:34:49 24 4
gpt4 key购买 nike

我需要一些关于如何使用 WCF 以及将 sql server 作为数据库来实现 URL 缩短服务的想法。

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

我需要逻辑思路的地方是如何创建短的随机字母。我将只允许美国字母中的数字和字母。还有;

  1. 它应该使第一个字符成为数字,第二个字符成为字母。休息可以是任何东西。我如何实现该功能,以便框架可以为我创建随机别名。
  2. 首先,它将创建 4 个字符长的单词。但是,如果没有 4 个字符长的 unused 单词剩下怎么办?我该如何实现该功能?如果没有剩下唯一的 4 个字符长的单词,它应该创建 5 个字符长的单词,但它应该使第一个字符再次成为数字,第二个字符成为一个字母。休息也可以是任何事情。

我知道我将在 mscorlib.dll 中使用 System.Random 类,但老实说,对此了解不多。更详细地说,我不知道如何用美国字母表中的数字和字母创建一个随机的唯一单词。

最佳答案

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

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

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

虽然可逆编码看起来合乎逻辑,但将生成的编码存储为数据库中的列 (Key) 并使用它进行查找也是非常可行的。这允许更花哨的编码,甚至在前面添加一个(随机)数字。

关于c# - 逻辑思路 - 使用 C# 和 WCF 构建 URL 缩短服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5528429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com