草庐IT

唯一标识

全部标签

c# - 如何从 GUID 生成 8 字节的唯一 ID?

我尝试在我们的C#应用程序(不是全局的,并且只用于一个session)中为我们的事件使用longasuniqueid。您知道以下是否会生成唯一的长id吗?publiclongGenerateId(){byte[]buffer=Guid.NewGuid().ToByteArray();returnBitConverter.ToInt64(buffer,0);}为什么不直接使用GUID呢?我们认为8个字节长就足够了。 最佳答案 不,不会。正如RaymondChen的博客上多次强调的那样,GUID被设计成作为一个整体是唯一的,如果你只剪掉

c# - 使用 AutoFixture 3 生成的整数是否唯一?

是用IFixture.Create()生成的整数吗?独一无二?TheWikisays数字是随机的,但它也告诉我们这一点Thefirstnumbersaregeneratedwithintherangeof[1,255],asthisisasetofvaluesthatarevalidforallnumericdatatypes.Thesmallestnumericdatatypein.NETisSystem.Byte,whichfitsinthisrange.Whenthefirst255integershavebeenused,numbersaresubsequentlypicked

c# - 如何在我的 JSON 模型类中使用保留关键字作为标识符?

我以前从未使用过WebAPI,但我需要一个可以接受/返回JSON对象的Web服务,使用它似乎是一件合理的事情。它看起来非常简单(如果不是为了我的目的有点矫枉过正),但我需要处理的数据结构看起来像:{"values":["foo","bar"],"default":"bar"}所以我去制作一个模型对象:classDropDownValues{publicstring[]values{get;set;}publicstringdefault{get;set;}}问题是default似乎是一个protected关键字。一定有办法解决这个问题,对吧? 最佳答案

c# - 在构造函数中递增唯一 ID 号

我正在使用C#处理一个对象,我需要该对象的每个实例都有一个唯一的ID。我对此的解决方案是简单地在类中放置一个我称为idCount的成员变量,并在我将拥有的构造函数中:objectID=idCount;idCount++;我认为这会解决我的问题,但似乎idCount永远不会增加,即使多次调用构造函数也是如此。例如,如果idCount=1,则所有对象的objectID仍为1。为什么idCount++不起作用?如有任何帮助,我们将不胜感激。如果我的解释不充分,我深表歉意,我不知道还能怎么解释。 最佳答案 您的类中需要一个静态属性,但是,如

c# - 重载是在 C# 中拥有默认函数参数的唯一方法吗?

处理默认函数参数的唯一方法是通过函数重载,这是真的吗?例如,在PHP中我可以这样做:functionfoo($x,$y=0){}在C#中处理它的最佳方法是这样吗?voidfoo(intx){foo(x,0);}voidfoo(intx,inty){}Exampleliftedfromhere编辑将C#示例变为实际的C#(感谢BlairConrad) 最佳答案 只是为了满足一些好奇心:来自Whydoesn'tC#supportdefaultparameters?:InlanguagessuchasC++,adefaultvalueca

c# - HashSet<T> 是否与 List<T> 相同但具有唯一性?

我需要能够在一个集合中拥有独特的元素。我打算使用字典,这样我就可以使用ContainsKey方法,但我认为这会很浪费,因为我不会使用键/值对的值属性。我遇到了HashSet这看起来很有前途。我唯一能找到但在List中找不到的东西文档是HashSet是无序的。我认为这很好,我认为这意味着它不是使用IEqualityComparer订购的.只要项目的添加顺序在相同的索引位置,我认为就可以了,因为我必须进行重复检查,因此哈希集然后检查所有条目是否顺序。在比较这两种类型时,我还遗漏了什么吗? 最佳答案 不,重要的是HashSet没有任何排序

c# - Entity Framework 4.2,无法设置标识插入

我想将记录批量添加到具有给定ID的表中,这样我就可以构建一个层次结构来以TreeView方式显示记录。我可以单独添加工作正常的记录,但我没有设置ID。我只想批量设置ID,因此我将实体的ID列中的DatabaseGenerated选项设置为NoneNone。using(TransactionScopescope=newTransactionScope(TransactionScopeOption.RequiresNew)){foreach(ErrorCodeecinerrorCodesStep3.errorcodesUsers){errorCode.ID=ec.ID;errorCode.

c# - 将 MVC 5 标识添加到现有项目

我是一名新手程序员,在我的第一个代码项目中学习。我从MVC4开始,并设法让CRUD为单个实体工作。我决定接下来尝试解决安全问题。当VisualStudio构建我的MVC4项目时,它添加了一个帐户模型、View和Controller。我已经使用theproceduredescribedhere将我的项目升级到MVC5和EF6.我现在想用MVC5脚手架标识模型、View、Controller替换MVC4安全代码。这可能吗?如果是,怎么办? 最佳答案 具有讽刺意味的是,我前几天晚上才处理这个问题......我建议直接使用全新的MVC5应用

c# - 当 IDENTITY_INSERT 设置为 OFF 时,无法在表 'ClientDetails' 中为标识列插入显式值

每当我尝试通过表单向此数据库提交数据时,都会抛出此异常:-异常当IDENTITY_INSERT设置为OFF时,无法在表“ClientDetails”中为标识列插入显式值。但是,表单没有字段,因此数据可以输入标识列(PK),所以我不知道为什么会发生这种情况。目前我正在使用标准的asp.netmvc提交按钮,但我最终会将它链接到一个jquery对话框按钮ClientNoColumn即异常所指的列具有以下属性姓名-客户编号类型-整数NULLS-否身份规范-是是身份-是增量-1种子-1ClientNo有数据900等当客户端表单没有在表单中输入数据时也会抛出此异常它在DataCContext.S

c# - 微服务架构中的 ASP.NET 标识

我正在尝试通过将主要组件分解为单独的网络服务器来使用微服务架构来实现网络应用程序。我正在使用ASP.NETIdentity(仅电子邮件/用户名登录,无Facebook等)和“主”应用程序服务器实现身份验证服务器。我当前的挑战是弄清楚应用程序服务器将如何识别用户是否已通过身份验证服务器登录。由于身份验证服务器生成它用来验证用户身份的token,我想它们存储在某个地方并且可以由应用程序服务器查询,但我不确定如何去做。理想情况下,我的应用程序服务器WebAPI端点将能够使用[Authorize]注释。问:一台服务器如何使用ASP.NETIdentity通过单独的身份验证服务器控制访问?