草庐IT

FLAG_UPDATE_CURRENT

全部标签

c# - 在静态类中访问的 HttpContext.Current

我可以从静态类和方法中调用HttpContext.Current吗?我想在每个用户的基础上存储一个值,但希望能够以静态方式访问它。例如这行得通吗?publicstaticclassStaticClass{publicstaticstringSomeThing{get{returnHttpContext.Current.Items["SomeItem"].ToString();}}} 最佳答案 是的,这是它有用的一种方式,当然,调用它的线程当前必须正在处理请求才能使其有用。 关于c#-在静

c# - 应用程序.Current.Shutdown();在未引用的程序集中定义

我收到错误:Error1Thetype'System.Windows.Markup.IQueryAmbient'isdefinedinanassemblythatisnotreferenced.Youmustaddareferencetoassembly'System.Xaml,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'.执行以下操作时:publicvoidExitApplication(){Application.Current.Shutdown();}该项目是针对.NET4.0的,我的Visual

c# - HttpContext.Current.Session 不清楚的行为 bool 值

我在尝试获取存储在HttpContext.Current.Session的bool属性的值时遇到了一个奇怪的行为.该对象是一个bool值。首先,我尝试检查该对象是否存在,如果存在,则使用它。我试图在?:运算符中使用它,但它的行为很奇怪。这是我的监window口:前提"ExistingKey"键存在并且值为false(如果键不存在返回false)。结果当检查!=null是否返回false(首先很奇怪)。当使用?:运算符时,除了条件为假外,它还返回第一个表达式,4(第二个很奇怪)。有人可以解释这种行为吗?注意:我并不是在寻求绕过这种情况的替代方法。只是问为什么会这样。

c# - 使用 Json.Net 反序列化时出现错误 "Cannot deserialize the current JSON array"

我有一个字符串:[{"key":"key1","value":"{'Time':'15:18:42','Data':'15:18:42'}","duration":5},{"key":"key1","value":"{'Time':'15:18:42','Data':'15:18:42'}","duration":5}]我的模型类:publicclassCPacket{publicstringkey{get;set;}publicstringvalue{get;set;}publicintduration{get;set;}}我使用Json.Net,我想将下面的字符串转换为Json对象

c# - 安全使用 'HttpContext.Current.Cache'

我在这样的Web服务方法中使用Cache:varpblDataList=(List)HttpContext.Current.Cache.Get("pblDataList");if(pblDataList==null){varPBLData=dc.ExecuteQuery(@"SELECTblabla");pblDataList=PBLData.ToList();HttpContext.Current.Cache.Add("pblDataList",pblDataList,null,DateTime.Now.Add(newTimeSpan(0,0,15)),Cache.NoSliding

c# - 在 ASP.NET Identity 2 中通过 UserManager.Update() 更新用户

我在MVC5项目中使用ASP.NETIdentity2,我想使用UserManager更新Student数据。更新()方法。但是,由于我继承自ApplicationUser类,因此我需要在调用更新方法之前将Student映射到ApplicationUser。另一方面,当使用我也用于创建新Student的方法时,当我创建新实例而不是更新时,由于并发性而出现错误。由于我厌倦了使用AutoMapper来解决问题,因此我需要一个稳定的修复程序来解决没有AutoMapper的问题。你能告诉我如何解决这个问题吗?我将StudentViewModel传递给Controller中的Update方法,然

c# - "Current thread must be set to single thread apartment (STA)"将字符串复制到剪贴板时出错

我试过来自HowtocopydatatoclipboardinC#的代码:Clipboard.SetText("Test!");我得到这个错误:Currentthreadmustbesettosinglethreadapartment(STA)modebeforeOLEcallscanbemade.EnsurethatyourMainfunctionhasSTAThreadAttributemarkedonit.我该如何解决? 最佳答案 如果您无法控制线程是否以STA模式运行(即测试、插件到其他应用程序或只是一些随机发送该调用以在无

c# - 流行的 "volatile polled flag"模式坏了吗?

假设我想使用一个bool状态标志来实现线程间的协作取消。(我意识到应该最好使用CancellationTokenSource代替;这不是这个问题的重点。)privatevolatilebool_stopping;publicvoidStart(){varthread=newThread(()=>{while(!_stopping){//Docomputationlastingaround10seconds.}});thread.Start();}publicvoidStop(){_stopping=true;}问题:如果我在另一个线程上在0秒调用Start()并在3秒调用Stop(),

c# - 在不使用 HttpContext.Current 的情况下确定 URL 主机名?

使用当前请求我可以获得URL主机名:HttpContext.Current.Request.Url.Host但是-我需要在不使用当前请求(HttpContext.Current)的情况下确定URL主机名。这样做的原因是,当找到SQL依赖项时,我的代码是从onChange回调中的SqlDependency调用的。尽管代码驻留在我的网络应用程序中,但没有请求,并且HttpContext.Current为空。我希望我可以从HttpRuntime中获取它,但那里似乎没有任何用处。我有什么办法可以获得这些信息吗? 最佳答案 如果您从Web应用

c# - 是否 (HttpContext.Current.User != null) 足以假设 FormsAuthentication 已对用户进行身份验证

在ASP.NET(2.0)应用程序中,我使用FormsAuthentication。在Global.asax/Application_AuthenticateRequest方法中,我检查HttpContext.Current.User是否为空。这是否足以了解表单例份验证cookie是否存在、票证是否过期以及表单例份验证机制是否已完成验证用户的工作?我需要这个,因为我在该应用程序中有某些页面,有时不需要访问身份验证(基于某些条件),我将它们放在web.config中的单独“位置”指令中,以便将它们从“捕获所有”表单例份验证中排除。即我正在尝试检查Application_Authentic