Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置WebAPI中每个请求仅存在于应用程序中的变量_C#_Asp.net_Asp.net Web Api - Fatal编程技术网

C# 设置WebAPI中每个请求仅存在于应用程序中的变量

C# 设置WebAPI中每个请求仅存在于应用程序中的变量,c#,asp.net,asp.net-web-api,C#,Asp.net,Asp.net Web Api,我正在使用带SSL的基本身份验证来保护使用ASP.NET WebAPI的API。我不想使用Cookie或会话变量,但我需要在请求的生命周期内具有一些可用和可访问的凭据 我有一个RoleProvider和一个access ActionFilter,还有一个对我的存储库的调用,这些都需要访问这些数据 我如何才能做到这一点?有什么原因不能将它们放入请求上下文中吗 HttpContext.Current.Items.Add("credentials", CredentialObject); 编辑:不要

我正在使用带SSL的基本身份验证来保护使用ASP.NET WebAPI的API。我不想使用Cookie或会话变量,但我需要在请求的生命周期内具有一些可用和可访问的凭据

我有一个RoleProvider和一个access ActionFilter,还有一个对我的存储库的调用,这些都需要访问这些数据


我如何才能做到这一点?

有什么原因不能将它们放入请求上下文中吗

HttpContext.Current.Items.Add("credentials", CredentialObject);

编辑:不要使用我上面的建议。请参阅评论中的链接,以获得更好的、可测试的答案。

将HttpContext与WebApi一起使用被认为是不好的做法。很难进行单元测试,并且限制您仅在IIS上运行WebApi应用程序。@JoshNoe我可以问一下您建议使用什么吗?@david.barkhuizen: