草庐IT

随机过程

全部标签

c# - 在 C# 中播种伪随机数生成器

我需要一个C#的Random类实例的种子,我了解到大多数人为此使用当前时间的滴答计数器。但这是一个64位值,种子需要是一个32位值。现在我认为返回int的GetHashCode()方法应该为其对象提供合理分布的值,这可以用来避免仅使用较低的32-滴答计数的位。但是,我找不到有关Int64数据类型的GetHashCode()的任何信息。所以,我知道这无关紧要,但接下来的工作是否会像我想的那样好(我不能试错随机性),或者它可能与使用(int)DateTime.Now.Ticks作为种子?或者它甚至可能更糟?谁能阐明这一点。intseed=unchecked(DateTime.Now.Tic

c# - Asp.net 随机停止遵守表单例份验证白名单

问题上个月,我们将我们的asp.net网站场从Server2008R2迁移到Server2012R2,并升级到asp.net4.5。我们正在使用cookie表单例份验证来防止未经授权访问网站。我们有一些在web.config中列入白名单的Assets和页面(例如:登录页面):在过去的几个月里,我们一直注意到IIS/Asp.net随机地停止遵守白名单并假设所有内容都需要经过身份验证。该服务器上对该站点的所有请求都将被重定向到登录页面,然后该页面会抛出500错误。无法检索任何列入白名单的Assets。当IIS出现问题时,我们可以在事件查看器中看到2个错误。第一个:Exceptiontype

c# - 我如何在 SQL 中使用枚举而不在我的 SQL 脚本/过程中硬编码魔数(Magic Number)?

我们的C#代码中有枚举:publicenumJobStatus{Ready=0,Running=1,Cancelling=2,}这些值也存储在数据库字段中,我们有很多TSQL(主要是存储过程,以及一些批处理和SSIS)也处理数据:SELECTTOP1@JobSID=JobSIDFROMJobWHEREStatus=0/*JobStatus.Ready*/ORDERBYSubmitDateASCCREATETABLEImportCrossEffect(/*lotsdeleted*/SourcetinyintDEFAULT1NOTNULL--0:Unknown(default),1:Imp

c# - 如何告诉 Entity Framework Function Import 存储过程返回的列不可为空?

我有一个类似于此的SQLServer存储过程:CREATEPROCEDURE[jp].[GetFoo]@GuidUNIQUEIDENTIFIERASSELECTCONVERT(BIT,(CASEWHEN[dbo].[GetBar](T.Col2)=3THEN1ELSE0END))IsGetBarCol2EqualToThreeFROM[dbo].[MyTable]TWHERET.Col1=@Guid当我在EF中执行函数导入/获取列信息时,列IsGetBarCol2EqualToThree的推断类型为Nullable.但是这个字段不可能为空,所以我希望它只是bool.有没有一种方法可以在

c# - 为存储过程创建可重用的 Linq To SQL

我正在处理一个需要使用LinqToSQL的新项目。我被要求创建一个可用于执行存储过程的通用或可重用的LinqtoSQL类。在ADO.Net中,我知道如何通过传递一个我想执行的字符串来做到这一点,我可以为每个需要运行的查询传递不同的字符串:SqlCommandcmd=newSqlCommand("myStoredProc",conn);//etc,etc我正在为如何在LinqToSQL中创建类似的东西而苦苦挣扎,如果可能的话。我创建了一个.dbml文件并向其中添加了我的存储过程。因此,我可以使用以下代码返回结果:publicListGetData(stringconnectName){M

c# - 将 Dapper 与返回游标的 Oracle 存储过程一起使用

如何使用Dapper使用返回游标的Oracle存储过程?varp=newDynamicParameters();p.Add("foo","bar");p.Add("baz_cursor",dbType:DbType.?,direction:ParameterDirection.Output);在这里,DbType是没有Cursor成员的System.Data.DbType。我试过使用DbType.Object,但这不适用于OracleClient和OracleDataAcess。改用OracleType或OracleDbType的可能方法是什么? 最佳答案

c# - 带有存储过程的代码优先 Entity Framework 从复杂的全文搜索返回结果

我正在为以下场景寻找设计建议:我有一个代码优先的EF5MVC应用程序。我正在构建一个全文搜索功能,它将合并来自许多表的多个加权列。由于我无法使用这些表(其中一些包含文本/二进制列)的索引创建View,因此我创建了一个存储过程,它将输出我的对象的ID(例如PersonID)和根据搜索词对与该对象关联的排名。我目前的方法是创建一个辅助类来执行全文搜索,它调用存储过程并根据返回的ID从上下文中加载所有对象。我的问题是:我的方法是否合理/遵循合理的最佳实践?有没有其他人做过类似的事情并吸取了教训?有没有一种方法可以更有效地做到这一点(即让存储过程的结果直接返回/映射到实体而不需要额外的查找?)

C#:从 IEnumerable 获取随机值的优雅代码

在Python中,我可以这样做:>>>importrandom>>>ints=[1,2,3]>>>random.choice(ints)3在C#中,我做的第一件事是:varrandgen=newRandom();varints=newint[]{1,2,3};ints[randgen.Next(ints.Length)];但这需要索引,ints的重复也困扰着我。所以,我想到了这个:varrandgen=newRandom();varints=newint[]{1,2,3};ints.OrderBy(x=>randgen.Next()).First();仍然不是很好和高效。是否有更优雅的

c# - 使用 CLR 存储过程可以解决哪些好问题?

我在SQLServer中使用CLR存储过程已有一段时间了,但我仍然想知道使用它们的最佳情况是什么。MSDN提供了一些使用指南,例如繁重的字符串操作(regex),或替换声明大量表变量和游标的T-SQL。我很想知道SO用户正在使用CLR存储过程以及示例/基准解决什么问题。例如,我发现CLR存储过程+SSRS是将数据操作逻辑从SSRS和T-SQL中取出并放入更易于阅读和操作的托管代码中的好方法。 最佳答案 许多需要非规范化和/或顺序操作的问题都可以由CLR很好地处理,并且可以用来显着提高性能,而不会牺牲SQL端的可用性(很多)。您可以采

c# - 生成随机字符串

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:c#randomstringgenerator我需要生成一个给定长度的随机字符串。到目前为止,这是我的代码。问题是随机字符串每次都像“RRRRRR”或“SSSSS”一样的字母。就在我重新启动应用程序时,字母发生了变化。我需要类似“asrDvgDgREGd”的东西publicstringGenerateChar(){Randomrandom=newRandom();returnConvert.ToChar(Convert.ToInt32(Math.Floor(26*random.NextDouble()+65)