草庐IT

auto-global

全部标签

C# 等效于 C++ 宏并使用 Auto<> 属性

我有一些自动实例化代码,我想将其应用于一个相当大的类中的大约15个属性。代码类似于以下内容,但每个实例的类型不同:protectedComplexType_propertyName;publicComplexTypePropertyName{get{if(_propertyName==null){_propertyName=newComplexType();}return_propertyName;}}要在C++中重复这一点(因为有大约15个实例),我会使用预处理器宏,但我注意到C#不支持它们。我想知道是否有人对如何在C#中干净利落地提出建议? 最佳答案

C# Auto Property - 这是 'pattern' 最佳实践吗?

我似乎在我的代码中经常使用这种模式,我知道它不再是一个简单的自动属性:publicIListBCSFilters{get;set;}我一直使用的代码是这样的:privateIList_BCSFilters;//////GetsorsetstheBCSfilters.//////TheBCSfilters.publicIListBCSFilters{get{if(_BCSFilters==null){_BCSFilters=newList();}return_BCSFilters;}set{_BCSFilters=value;}}这样我就可以只执行MainClass.BCSFilters

c# - ReferenceLoopHandling.Ignore 在 WebApi Global.asax 中不起作用

我有一个返回循环错误的API端点(因为它链接了一个循环返回的连接类),例如classA{virtualClassAB;}classB{virtualClassAB;}classAB{virtualClassA;virtualClassB;}在APIGET中,我需要从ClassA的角度返回ClassB的详细信息(在ClassBGET中反之亦然)。当我得到时,我会执行以下操作:IQueryableresults=_dbset.Include(x=>x.ClassAB).Include(x=>x.ClassAB.Select(y=>y.ClassB)).AsExpandable().Wher

c# - 将 global.asax 迁移到 ASP.NET 5

几天前.NETCoreRC1发布了,我在阅读了很多有关它的资料后第一次尝试了它,我喜欢它,但它有点不同。我正在尝试将一个小型博客(内置于MVC5)迁移到MVC6和.NETCore。这并不难,但我真的很难重新创建与MVC5中完全相同的global.asax设置,ASP.NET5不再具有global.asax,所以我无法弄清楚大多数设置的替代品是吗?protectedvoidApplication_Start(){ViewEngines.Engines.Clear();ViewEngines.Engines.Add(newRazorViewEngine());MvcHandler.Disa

c# - 由于 Json.Net TypeNameHandling auto 导致外部 json 易受攻击?

我正在运营一个小型网站,用户可以在其中上传JSON中定义的自定义“对象”。最近我了解到使用JSON和自动类型反序列化可能存在的威胁:JSONproblem.我想我明白问题所在,但我必须问清楚。如果我只用给定的特定类型反序列化传入的JSON(这里是MyObject)JsonConvert.DeserializeObject(json,settings);并且里面没有类型MyObject并且没有MyObject的任何成员的子类型有类型System.Object或dynamic没有什么会变坏的,对吧?TypeNameHandling的settings设置为TypeNameHandling.A

c# - 如何处理 global.asax 中的 session 结束?

我在聊天应用程序中工作,我使用HashTable将User和Operator作为ChatRoom类的键和对象作为HashTable的值。主要问题是当用户或运算符(operator)关闭浏览器或断开连接而不注销时,它会在session结束时自动注销。请帮助我解决这个问题以及如何在这件事上使用Global.asax。 最佳答案 您可以使用global.asax的session结束事件来删除意外断开连接的用户:voidSession_End(Objectsender,EventArgsE){//Cleanupsessionresource

c# - 捕捉 Global.asax 中的错误

我的Global.asax中有以下内容用于处理错误:voidApplication_Error(objectsender,EventArgse){Exceptionexception=Server.GetLastError();if(exception!=null){//Logif(HttpContext.Current.Server!=null){HttpContext.Current.Server.Transfer("/siteerror.aspx");}}}这在大多数情况下都有效,但有时无法进入Server.Transfer。由于某种原因HttpContext.Current.S

c# - .net 中的对象复制方法 : Auto Mapper, Emit Mapper、隐式操作、属性复制

如果有人知道在.NET中执行此操作的更多方法,您对这些方法有何看法?您选择哪种方法,为什么?下面是.NET中对象拷贝不同方式的测试。与此原始线程相关的测试:HowtocopyvaluefromclassXtoclassYwiththesamepropertynameinc#?所以,在这里,您可以自己运行它:staticvoidMain(string[]args){Student_student=newStudent();_student.Id=1;_student.Name="Timmmmmmmmaaaahhhh";_student.Courses=newList();_student

c# - Response.Redirect 在 Global.asax 中不起作用

我创建了一个错误页面来显示所有未处理异常的一般消息。这是Global.asax中的代码HttpContextctx=HttpContext.Current;stringe404_PAGE=ctx.Request.AppRelativeCurrentExecutionFilePath.ToString();stringe404_LINE=ctx.Server.GetLastError().InnerException.StackTrace.Substring(ctx.Server.GetLastError().InnerException.StackTrace.LastIndexOf("

c# - Global.asax 在小改动后解析错误并恢复到以前的版本

上下文中的项目是:ASP.NET网络应用程序.NET框架:4平台目标:x86IDE:VisualStudio2010UltimateSP1以ASP.NET作为启动项目的解决方案中的多个项目。直到昨天,它已经投入生产几个月没有出现故障。我清理了[Global.asax]文件(删除未使用的using语句、重构等),运行解决方案并得到以下错误:描述:解析服务此请求所需的资源时发生错误。请查看以下具体的解析错误详细信息并适当修改您的源文件。解析器错误消息:无法加载类型“CloudTech.ATS.WebClient.Global”。源文件:/global.asax行:1源错误:第1行:这是Gl