问题标签 [guid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1405 浏览

sql - 使用 GUID 作为主键时的“无”或“未使用”外键

我们正在构建一个可能需要复制到许多服务器的应用程序(我希望不会,但是在我们发布在线产品之前,无法知道客户端是否需要他们自己的客户端/服务器副本)。

由于服务器的数量未知,我决定对任何事务表 ID 使用 GUID。由于每个客户端都有自己的数据库,我打算使用 NEWSEQUENTIALID() 默认值,并且最大的表每年将添加不超过 150 万行(但平均为 15K 行),我预计不会有太大的性能问题.

但是,我不确定如何处理我们希望外键指示“未选择”的情况。例如,一个客户端有一个管理员用户。这被设置为 login.id(GUID)的外键(login_id)。但是,如果客户端还没有管理员用户,我们如何轻松设置“None Selected”键?

在以前的应用程序中,我们使用 IDENTITY 列,并在大多数 ID 为 0 的表中插入了一个虚拟条目。是否有一种可接受的方法来提供具有 GUID 的类似功能?

0 投票
2 回答
8769 浏览

oracle - Oracle SYS_GUID 不会改变

我有一个非常适合使用 GUID 作为键的 Oracle 项目。我找到了以下片段

来自http://feuerthoughts.blogspot.com/2006/02/watch-out-for-sequential-oracle-guids.html

当我对我的数据库运行它时(我在版本 10g 和版本 11 上尝试过),我得到如下输出

即价值永远不会改变!我需要做些什么来设置它按预期工作吗?

编辑:我不是很细心 - GUID 正在改变,但看起来我遇到了上面链接所讨论的顺序 GUID 问题。

0 投票
6 回答
10508 浏览

security - 您猜出可能生成的 GUID 有多容易?

GUID 经常用于为 Web 应用程序创建会话密钥。我一直想知道这种做法的安全性。由于 GUID 是根据来自机器的信息、时间以及其他一些因素生成的,因此很难猜测未来可能出现的 GUID。假设您启动了 1000 个或 10000 个新会话,以获得正在生成的 GUID 的良好数据集。这是否会使生成可能用于另一个会话的 GUID 变得更容易。您甚至不必猜测特定的 GUID,只需继续尝试可能在特定时间段内生成的 GUID。

0 投票
4 回答
3297 浏览

.net - 如何在某些文本中找到所有指南?

我的数据库中有一堆网页内容,链接如下:

该 Guid 唯一标识符是同一数据库中另一个页面的 ID。

我想抓取这些页面并检查是否有损坏的链接。

为此,我需要一个可以返回页面上所有 Guid 列表的函数:

我认为这是正则表达式的工作。但是,我不知道语法。

0 投票
3 回答
2250 浏览

guid - DOCX 中唯一 ID 的最佳位置(Open XML WordprocessingDocument)

如果 DOCX 文件被移动或重命名,我正在寻找一种方法来识别它们。原因很明显,我正在使用 Open XML SDK,构建一个超链接检查器。

完美运行,至少它可以在文档中添加或更新超链接。

但是,问题是,如果我重命名一个外部文件(source.docx + target.docx 为 targetB.docx),链接就会断开。我可以找到损坏的链接(只需检查链接文件是否在给定位置)。

但我想要更多。我希望能够通过搜索目录(docx)中的所有文档并扫描它们是否是“目标”来恢复丢失的链接。最简单的方法应该是存储在文档属性中某处的 GUID,如果文档被重命名或编辑(校验和不适用),它不会改变。

然后我创建一个单独的链接列表和相应的 ID,如果任何文档被重命名,我只需更新链接。我希望这个概念是清楚的。

所以有几个基本问​​题:

  • 是否有“最佳实践”将此“自定义信息”存储在 Open XML 文档中
  • 文字处理文档 (DOCX) 是否已经有一些由 Word 创建的唯一标识符
  • 您将在哪里保存映射(超链接目标的 GUID)

我希望问题很清楚,如果没有,我会尝试澄清,如果有问题,请发表评论..

谢谢,克里斯

0 投票
3 回答
3356 浏览

ajax - 通过 GUID 保护 AJAX 请求

我正在编写一个将通过 AJAX 发出请求并希望锁定这些调用的网络应用程序。经过一番研究,我正在考虑使用某种形式的随机令牌(字符串)与请求(GUID?)一起传回。这是我算法的重要部分:

  1. 将令牌分配给 JavaScript 变量(在服务器端生成)。
  2. 此外,将该令牌存储在数据库中并为其指定一个有效时间段(即 10 分钟)。
  3. 如果令牌仍未使用并且在其有效时间窗口内,则允许调用。
  4. 如果有效则返回请求的信息,否则,记录请求并忽略它。

着眼于安全,这有意义吗?对于令牌,GUID 会起作用吗?它应该是别的东西吗?有没有一种加密请求中变量的好方法?

编辑:

我知道这些 AJAX 请求并不是真正的“安全”,但我想添加基本的安全性,因为我想阻止其他人使用我打算编写的服务。这种随机令牌将是防止滥用电话的基本前线防御。将被请求(甚至提交以生成此类数据)的数据极不可能重复。

也许我在使用 GUID 时错了……随机生成的字符串(令牌)怎么样?

0 投票
1 回答
1377 浏览

apache-flex - 在 Actionscript 3 中将字符串转换为 GUID

我正在使用 Flex 从 Web 服务中检索 GUID。使用此 GUID,我必须从 Web 服务中检索用户名。

输出给我一个“提供的密钥无效。它必须是 System.Guid 类型。”

我到处寻找解决方案,但找不到正确的答案。

任何人?

谢谢!

编辑:有没有办法在 AS3 中将字符串转换为 GUID?

0 投票
6 回答
7792 浏览

.net - Linq-to-Sql 中的顺序 GUID?

我刚刚阅读了一篇关于 NHibernate 从系统时间 (Guid.Comb) 创建 GUID 的能力的博客文章,从而避免了大量的数据库碎片。您可以将其称为与 SQL Server 顺序 ID 等效的客户端。

有没有办法可以在我的 Linq-to-Sql 项目中使用类似的策略(通过在代码中生成 Guid)?

0 投票
2 回答
1320 浏览

c# - 在 C# 中访问 Guid 成员

在 C++ 中,我们可以通过以下方式访问 guid 的成员:

C++中guid的结构是:

问题:如何翻译 C++ 代码中的第三行 ( dwRand = guid.Data1 & 0x7FFFFFFF;)。换句话说 - 如何访问 guid 成员?C# 中没有这样的东西。

提前致谢!

0 投票
2 回答
882 浏览

linq-to-sql - 在 ADO.Net 数据服务中使用 Guid

我正在把头发拉出来。我正在尝试实现使用 Linq to SQL 数据上下文的 ADO.Net 数据服务。我以为我可以正常工作,但我的一张表的 URL 总是出现异常。

不工作的表和正常工作的表之间的明显区别在于,获得异常的表使用的是主键 Guid。Guid 是一个 UserID,它实际上与 ASP.net Membership 使用的 UserId 相关。(我没有公开 ASP.net 成员表,但我猜如果我公开这些表也会中断。)

这是一个非常简单的表:名称:UserDetails :: | 指导用户 ID | int GroupID (外键) | 字符串名称 |

有人知道让Guids工作是否有技巧吗?或者,如果这可能是一个完全不同的问题?

以下是服务的异常:处理此请求时发生错误。

InnerError:处理此请求时发生错误。

类型:System.InvalidOperationException

StackTrace: t System.Data.Services.Serializers.SyndicationSerializer.WriteObjectProperties(IExpandedResult 扩展,对象 customObject,ResourceType在 System.Data.Services.Serializers.SyndicationSerializer.WriteComplexObjectValue(Object element, String propertyName, ResourceType expectedType, String relativeUri, DictionaryContent content) 在 System.Data.Services.Serializers 的 resourceType、Uri absoluteUri、String relativeUri、SyndicationItem 项、DictionaryContent 内容) .SyndicationSerializer.WriteObjectProperties(IExpandedResult 扩展,对象 customObject,ResourceType resourceType,Uri absoluteUri,字符串 relativeUri,SyndicationItem 项,DictionaryContent 内容)在 System.Data.Services.Serializers.SyndicationSerializer.WriteObjectProperties(IExpandedResult 扩展,对象 customObject、ResourceType resourceType、Uri absoluteUri、String relativeUri、SyndicationItem 项、DictionaryContent 内容)在 System.Data.Services.Serializers.SyndicationSerializer.WriteEntryElement(IExpandedResult 扩展,对象元素,类型 expectedType,Uri absoluteUri,字符串 relativeUri,SyndicationItem 目标)在System.Data.Services.Serializers.SyndicationSerializer.<DeferredFeedItems>d__0.MoveNext() 在 System.ServiceModel.Syndication.Atom10FeedFormatter。在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeed(XmlWriter writer) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeedTo(XmlWriter writer, SyndicationFeed feed, Boolean isSourceFeed) 上的 WriteItems(XmlWriter writer, IEnumerable`1 items, Uri feedBaseUri)。 System.Data.Services.Serializers.SyndicationSerializer.WriteTopLevelElements(IExpandedResult 扩展,IEnumerator 元素,布尔 hasMoved)在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults,Boolean)的 ServiceModel.Syndication.Atom10FeedFormatter.WriteTo(XmlWriter writer) hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)SyndicationFeed 提要,布尔 isSourceFeed) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeed(XmlWriter writer) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteTo(XmlWriter writer) 在 System.Data.Services.Serializers.SyndicationSerializer.WriteTopLevelElements(IExpandedResult 扩展, IEnumerator 元素,Boolean hasMoved) 在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)SyndicationFeed 提要,布尔 isSourceFeed) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteFeed(XmlWriter writer) 在 System.ServiceModel.Syndication.Atom10FeedFormatter.WriteTo(XmlWriter writer) 在 System.Data.Services.Serializers.SyndicationSerializer.WriteTopLevelElements(IExpandedResult 扩展, IEnumerator 元素,Boolean hasMoved) 在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)IEnumerator 元素,Boolean hasMoved) 在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)IEnumerator 元素,Boolean hasMoved) 在 System.Data.Services.Serializers.Serializer.WriteRequest(IEnumerator queryResults, Boolean hasMoved) 在 System.Data.Services.ResponseBodyWriter.Write(Stream 流)