草庐IT

不可靠性

全部标签

c# - Autofac - 无法创建请求生命周期范围,因为 HttpContext 不可用 - 由于异步代码?

简短问题:Sameasthisunansweredproblem长问题:我只是将一些代码从使用Autofac的MVC4+WebApi解决方案移植到我的新解决方案中,该解决方案也使用Autofac但仅使用WebApi2(没有MVC5.1项目,只有一个WebAPI)。在我之前的解决方案中,我有MVC4和WebApi,所以我有2个Bootstrapper.cs文件,每个文件一个。我只为新项目复制了WebApiBootstrap。现在我在新解决方案中有2个其他项目需要拉取依赖项。让我们假设我必须使用DependencyResolver.Current.GetService()尽管它是一种反模式

c# - 不可空类型

有没有办法在C#中创建不可为空的类型(如DateTime或TimeSpan)?还有一种方法(可能是一个属性)来强制在不添加的情况下不会将非空参数传递给方法和属性if(arg1==null){thrownewArgumentNullException("thisattributeisnull")} 最佳答案 DateTime和TimeSpan不可为null,因为它们是struct而不是class。关于你的第二个问题,在C#中没有标准的方法可以做到这一点。您可以使用AOP框架PostSharp或Spec#来完成此操作,这是一种全新的语言

c# - Entity Framework 代码首先使列不可为空

我的项目首先使用EF代码。我的数据模型中有以下代码[HiddenInput(DisplayValue=false)]publicDateTime?PasswordDate{get;set;}为了使其不可为空,我删除了“?”并从包管理器控制台运行Add-Migration命令。生成了以下迁移文件。publicpartialclassPasswordDate:DbMigration{publicoverridevoidUp(){AlterColumn("dbo.CertificateInfoes","PasswordDate",c=>c.DateTime(nullable:false));

c# - 功能 'interpolated strings' 在 C# 5 中不可用。请使用语言版本 6 或更高版本

有一个类似的问题here但我相信这涉及不同的原因。我将一个类从一个较新的项目移到了一个较旧的项目中。两者都以.net4.6为目标,但是在移动之后我在构建时收到以下错误。Feature'interpolatedstrings'isnotavailableinC#5.Pleaseuselanguageversion6orgreater.我尝试在属性窗口中将我的项目设置为使用C#6构建,但没有任何更改。 最佳答案 我终于找到了改变它的地方。有时当您更新目标框架版本时,这似乎并没有改变。 关于c

c# - 什么是默认值,为什么不可覆盖?

在执行代码审查时,我发现可以通过使用Null对象模式来减少潜在错误的代码。然后我开始思考:如果那个业务对象的默认值是空对象而不是空引用,那不是很有用吗?由于C#提供了默认运算符,我尝试像这样重载它:publicstaticMyObjectoperatordefault(MyObjectobject){returnMyObject.Null;}这给了我错误:'预期可重载一元运算符'。在进一步挖掘时,我发现文档的一部分说default(T)是主要运算符:OverloadableOperators.当你实际点击上面页面上的default(T)时,它说default是一个关键字。最重要的是,这

c# - 使用 EPPlus 生成的 Excel 文件中的内容不可读

当我使用EPPlus库从模板生成Excel文件时遇到了一个小问题。该文件有第一个电子表格,其中包含用于填充下表中数据透视表的数据。当我打开生成的文件时,我收到以下错误消息:“Excel在‘sampleFromTemplate.xlsx’中发现不可读的内容。是否要恢复此工作簿的内容?我相信此工作簿的来源,请单击"is"。”我显然点击了"is",然后得到了对文件所做修复的总结,以及指向包含此内容的xml格式日志文件的链接:error095080_01.xmlErrorsweredetectedinfile'C:\TEMP\sampleFromTemplate.xlsx'RepairedRe

c# - 信箱不可用。服务器响应为 : 5. 7.1 无法中继错误

我在netsol服务器上托管了我的一个网站。从那里contact.aspx必须使用交换服务器发送电子邮件。当我尝试发送电子邮件时:Error:Mailboxunavailable.Theserverresponsewas:5.7.1Unabletorelay代码:MailMessagemessage=newMailMessage(@"xxx@example.com",@"test_user@yahoo.com","NewMessage","Exchange");SmtpClientmail=newSmtpClient("exchange.abc.com",29);mail.Enable

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# - OpenXML - 将日期写入 Excel 电子表格会导致内容不可读

我正在使用以下代码将DateTime添加到我的电子表格中的列:vardt=DateTime.Now;r.AppendChild(newCell(){CellValue=newCellValue(dt.ToOADate().ToString()),DataType=newEnumValue(CellValues.Date),StyleIndex=1,CellReference=header[6]+index});当我尝试在Excel2010中打开文件时,出现错误Excelfoundunreadablecontentinfile.xlsx如果我注释掉该行,一切都很好。我已经提到了simil

c# - 为什么我可以将不可为 null 的类型与 null 进行比较?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:C#okaywithcomparingvaluetypestonull如果我尝试将null分配给C#中的不可空类型:System.DateTimetime=null;我会得到一个编译时错误:errorCS0037:Cannotconvertnullto'System.DateTime'becauseitisanon-nullablevaluetype这是有道理的。但是如果将相同类型与null进行比较:System.DateTimetime=obtainFromSomewhere();if(time==null