jjzjj

httpcontext.cache

全部标签

c# - 使用最小起订量模拟 HttpContext 进行单元测试

这个问题在这里已经有了答案:HowdoImocktheHttpContextinASP.NETMVCusingMoq?(6个答案)关闭8年前。我需要一个HttpContext的模拟来进行单元测试。但我正在为此苦苦挣扎。我正在创建一个方法,该方法将通过SessionIdManager以编程方式更改sessionId。并且SessionIdManager需要HttpContext而不是HttpContextBase。但是我找不到任何模拟HttpContext的例子。那里的所有示例都只是为了制作HttpContextBase。我在下面试过,但它们没有用HttpContexthttpConte

c# - 如何对 HttpContext.SignInAsync() 进行单元测试?

SignInAsync()SourceCode我在单元测试中遇到了一些问题。DefaultHttpContext.RequestServices为null我试图创建AuthenticationService对象,但我不知道要传递什么参数我该怎么办?如何对HttpContext.SignInAsync()进行单元测试?待测方法publicasyncTaskLogin(LoginViewModelvm,[FromQuery]stringreturnUrl){if(ModelState.IsValid){varuser=awaitcontext.Users.FirstOrDefaultAsy

c# - HttpContext.Current.Cache 是线程安全的吗?

请检查下面的代码:objDDLTable=HttpContext.Current.Cache["TestSet"]asHashtable;if(objDDLTable==null){objDDLTable=newHashtable();arrDDLItems=GetDropDownList("testDropDown");objDDLTable.Add("testDropDown",arrDDLItems);HttpContext.Current.Cache["TestSet"]=objDDLTable;}elseif(objDDLTable!=null&&!objDDLTable.C

c# - .NET Core 中HttpContext TraceIdentifier 是如何生成的?

HttpContextTraceIdentifier(又名Correlation-Id)是如何生成的?我通过Controller请求一个页面,它为我提供以下TraceId:0HLEACIU86PT6:0000000D该页面触发一个具有以下TraceId的ajax调用:0HLEACIU86PT7:00000005如您所见,它们非常相似。是基于时间吗?为什么我没有得到相同的TraceIdentifier?如何确保相同的TraceIdentifier? 最佳答案 Kestrel将请求ID生成为{ConnectionId}:{Request

c# - 使用最小起订量模拟 HttpContext.Current.Server.MapPath?

我正在对我的家庭Controller进行单元测试。在我添加保存图像的新功能之前,此测试运行良好。导致问题的方法如下所示。publicstaticvoidSaveStarCarCAPImage(intcapID){byte[]capBinary=Motorpoint2011Data.RetrieveCapImageData(capID);if(capBinary!=null){MemoryStreamioStream=newMemoryStream();ioStream=newMemoryStream(capBinary);//savethememorystreamasanimage//

c# - 如何使用 AuthorizationHandlerContext 在 ASP.NET Core 2 自定义基于策略的授权中访问当前的 HttpContext

如何访问当前的HttpContext以检查ASP.NETCore2中基于自定义策略的授权的AuthorizationHandlerContext中的路由和参数?引用示例:CustomPolicy-BasedAuthorization 最佳答案 你应该注入(inject)一个IHttpContextAccessor的实例进入您的AuthorizationHandler。在您的example的上下文中,这可能类似于以下内容:publicclassBadgeEntryHandler:AuthorizationHandler{IHttpCo

c# - 将 OwinHttpRequestContext 转换为 HttpContext? (IHttpHandler 和 websockets)

我正在尝试在当前实现RESTfulWebAPI的应用程序中实现Web套接字。我希望某些信息能够通过Web套接字连接公开,因此我想弄清楚如何将普通HTTP请求升级为Web套接字连接。我正在尝试关注这个tutorial我遇到的问题是我的Controller处理继承自ApiController的Get请求,我正在尝试这样做:if(HttpContext.Current.IsWebSocketRequest){HttpContext.Current.AcceptWebSocketRequest(SomeFunction);}returnnewHttpResponseMessage(HttpSt

c# - System.Runtime.Caching.MemoryCache 的通用实现

MemoryCache是否有任何通用的替代方案/实现?我知道MemoryCache在底层使用Hashtable,所以只需转换为使用Dictionary,这是Hashtable的通用版本。这将提供类型安全并提供性能优势,因为无需装箱/拆箱。编辑:我感兴趣的另一件事是使用不同的key类型。默认值为System.String。 最佳答案 Isthereanygenericalternative/implementationforMemoryCache?不在基类库中。你必须自己动手,但就我个人而言,我只会围绕MemoryCache做一个包装

c# - HttpContext.Current.Session 为空

我有一个网站,在类库中有一个自定义缓存对象。所有项目都运行.NET3.5。我想将此类转换为使用session状态而不是缓存,以便在我的应用程序回收时在状态服务器中保留状态。但是,当我访问我的Global.asax文件中的方法时,此代码会引发“HttpContext.Current.Session为空”的异常。我这样称呼类:Customercustomer=CustomerCache.Instance.GetCustomer(authTicket.UserData);为什么对象总是空的?publicclassCustomerCache:System.Web.SessionState.IR

c# - HttpContext.Current 如何在多线程环境中工作?

所以我想知道当(据我所知)asp.net是多线程时,asp.net究竟是如何能够限定静态属性的范围的。一种理论认为ASP.NET人员为每个请求维护一个不同的应用程序域......但这似乎不可行。另一种理论认为,.Current方法查看当前线程,然后使用它在某些哈希表(或其他静态存储机制)中查找http上下文。无论哪种方式,这都是一种看起来非常有用的技术......我想利用它,但绝对不想调试共享状态错误:-/ 最佳答案 它不是每个请求的AppDomain。如果你想使用线程特定的状态,尝试:[ThreadStatic]privatest