草庐IT

he-missing-quick-start-guide-for-

全部标签

c# - 统一: Change default lifetime manager for implicit registrations and/or disable them

Unity容器将自动解析它可以自行识别的任何类型,无需手动注册。这在某些方面很好,但我遇到的问题是它使用TransientLifetimeManager来解决这种类型的问题,而我几乎总是想要一个ContainerControlledLifetimeManager。当然,我仍然可以手动将我的类型注册为单例,但如果我忘记了,应用程序将成功启动,而不是在启动时出现未处理的异常,并且一切似乎都正常工作。但最终会出现错误,可能非常微妙,难以诊断,因为存在一个类型的多个实例,这意味着是一个单例。所以我的问题是:有没有一种方法可以指定不同的默认生命周期管理器或完全禁用默认的自动解析行为并将容器限制为

c# - MS Access - C# - 检索最新插入的 guid

有没有办法用C#检索最新插入的guid?我试过这个:创建了一个表Cars,其字段ID类型为自动编号、replicationID和字段名称varchar(250)。varcommand=myConnection.CreateCommand();command.Connection.Open();command.CommandText="INSERTINTOCars(Name)VALUES('Pagani')";command.ExecuteNonQuery();command=context.Database.Connection.CreateCommand();command.Comm

c# - 包含 guid 的结构上的 Marshal.SizeOf 提供额外的字节

我有几个具有顺序布局的结构:structS1{Guidid;}structS2{Guidid;shorts;}structS3{Guidid;shorts;shortt;}在上述结构类型上调用Marshal.SizeOf,我得到了:Size:S1=16,asexpected.S2=20,copiedaninstancetoabytearray,itonlyoccupiesfirst18bytes.S3=20.我的问题是,为什么S2的大小是20而不是18。只有当Guid在结构中时才会出现这个问题。很抱歉无法从msdn中找到任何有用的信息。我知道Marshal.SizeOf给出了该类型在内

c# - 在 C# 和 DB 中创建 Guid 键之间的区别

我们使用Guid作为数据库中实体的主键。传统上,我们遵循让数据库在INSERT期间为实体设置ID的模式,我认为这主要是因为这通常是您使用自动递增字段或其他任何方式处理事情的方式。我越来越发现在对象构造期间在代码中进行键分配要容易得多,主要原因有两个:您知道一旦对象的构造函数运行,它的所有字段都已初始化。你永远不会有“半生不熟”的东西。如果您需要执行一批操作,其中一些操作取决于了解对象的键,您可以一次完成所有操作,而无需往返数据库。是否有任何令人信服的理由不以这种方式做事?也就是说,当使用Guid作为键时,是否有充分的理由将键分配留给数据库?编辑:很多人对是否应该将Guid用于PK有强烈

c# - 我们可以解码 Guid 以找出它是在何时何地生成的吗?

Thisarticle说明如何生成Guid。我的问题是,有什么方法可以找出我的网络场中哪台机器生成了这个Guid以及何时生成的? 最佳答案 NeilFenwick是正确的。然而,我们可以利用这种结构来发挥我们的优势。版本4(.Net)版本4UUID使用仅依赖于随机数的方案。该算法设置版本号以及两个保留位。所有其他位均使用随机或伪随机数据源设置。版本4UUID的格式为xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,其中x是任何十六进制数字,y是8、9、A或B之一。例如f47ac10b-58cc-4372-a5

c# - "Both use the XML type name X, use XML attributes to specify a unique XML name and/or namespace for the type"怎么解决?

我有以下枚举定义...namespaceItemTable{publicenumDisplayMode{Tiles,Default}}namespaceEffectiveItemPermissionTable{publicenumDisplayMode{Tree,FullPaths}}...然后我有以下类(class)...publicclassTablewhereTDisplayMode:struct{//publicpublicTDisplayModeDisplayMode{get{returnmDisplayMode;}set{mDisplayMode=value;}}//pri

c# - 为什么 regasm.exe 使用错误的 GUID 注册我的 C# 程序集?

我有一个c#程序集,我通过COM从Delphi(win32native)应用程序调用它。这适用于我测试过的所有机器,除了一台。问题是Delphi应用程序在尝试创建COM对象时得到“类未注册”。现在,当我查看HKEY_CLASSES_ROOT\DelphiToCSharp\CLSID下的注册表时,那里列出的GUID与AssemblyInfo.cs中的程序集Guid不同。它应该是相同的-它在安装它的所有其他计算机上都是相同的。我试过regasm/unregisterdelphitocsharp.dll,这会删除注册表项。然后,如果我执行regasmdelphitocsharp.dll,注册

c# - 将嵌套的 for 循环转换为单个 LINQ 语句

有人可以帮我把这个嵌套结构变成单个LINQ语句吗?EventLog[]logs=EventLog.GetEventLogs();for(inti=0;i 最佳答案 嵌套循环通常以多个“from”子句结束(编译器将其转换为对SelectMany的调用):varremoteAccessLogs=fromloginEventLogs.GetEventLogs()wherelog.LogDisplayName=="AAA"fromentryinlog.Entrieswhereentry.Source=="BBB"selectentry;(假

c# - MVC Razor for 循环

我有此代码(嵌套在表单帖子中)但不断收到错误消息,指出它缺少结束符}@for(inti=0;i}我已经盯着它看够久了...有人能帮忙吗? 最佳答案 试试放@:在你的html代码之前:@for(inti=0;i备选方案:1.用包裹你的html代码2.使用HtmlHelper生成html代码 关于c#-MVCRazorfor循环,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1118

c# - Process.Start() 从命令提示符窗口获取错误

我正在尝试使用参数启动命令提示进程。现在我想获取有关错误的信息(如果存在)。someProcess=System.Diagnostics.Process.Start(cmd,someArgs);最好的问候,洛维吉 最佳答案 其他答案都是正确的。这是您可以使用的一些代码:ProcessStartInfostartInfo=newProcessStartInfo(cmd,args);startInfo.UseShellExecute=false;startInfo.RedirectStandardError=true;Processso