草庐IT

new_user_session_path

全部标签

c# - new() 是什么意思?

WCFRIA服务中有一个AuthenticationBase类。类定义如下://assumeusingSystem.ServiceModel.DomainServices.Server.ApplicationServicespublicabstractclassAuthenticationBase:DomainService,IAuthenticationwhereT:IUser,new()这段代码中new()是什么意思? 最佳答案 这是newconstraint.它指定T不能是abstract并且必须公开一个public无参数co

c# - 如何将 cookie 容器与 RestSharp 和 ASP.NET session 一起使用?

我希望能够在Controller上调用身份验证操作,如果成功,则将经过身份验证的用户详细信息存储在session中。但是,我不确定如何将请求保留在session中,因为我将RestSharp用作独立客户端。我需要以某种方式在成功授权后从服务器取回key,然后在以后的每次调用中,使用存储在session中的key检查key。我如何确保RestSharp中的RestClient发送所有future请求时都正确设置了cookie,以便在服务调用中可以正确检索session变量?我一直在查看带有HttpFactory的cookie容器,但似乎没有任何关于此的文档。

c# - 如果类型 T 需要实例化,为什么通用类签名需要指定 new() ?

我正在编写一个通用类,如下所示。publicclassFoo:whereT:Bar,new(){publicvoidMethodInFoo(){T_t=newT();}}如您所见,类型T的对象_t是在运行时实例化的。为了支持泛型类型T的实例化,该语言强制我将new()放在类签名中。如果Bar是一个抽象类,我会同意这一点,但如果Bar是具有公共(public)无参数构造函数的标准非抽象类,为什么需要这样。如果没有找到new(),编译器会提示以下消息。无法创建变量类型“T”的实例,因为它没有new()约束 最佳答案 因为通常没有假设模板

c# - Asp.net session 变量

我有一个带有c#代码的asp.net项目。我有一个名为GlobalVariable的静态类,我在其中存储了一些信息,例如当前选择的产品。但是,我看到当有两个用户使用该网站时,如果一个更改所选产品,则为每个人更改。静态变量似乎对每个人都是公共(public)的。我想创建(从C#代码)某种仅从C#代码使用的session变量,但不仅从页面,而且从任何类。 最佳答案 是的,静态变量由整个应用程序共享,它们绝不是用户/session私有(private)的。要从非页面类访问Session对象,您应该使用HttpContext.Current

c# - 在 asp.net mvc 中更改 session 变量超时的默认值

我有一个带有razorView引擎的Asp.netMvc应用程序,我在其中使用了一个变量Session['user']:当用户登录应用程序时Session['user']=login并且在注销时此变量的值为Null。问题是超时很短,session变量过期:如果我在登录应用程序后一分钟内什么都不做,Session['user']=null自动。那么我怎样才能将session变量的超时设置为无限,直到它被程序更改?有什么建议吗? 最佳答案 Sohowcanisetthetimeoutofthesession'svariableunlim

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

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

c# - 给定 "where T : new()", "new T()"是否在内部使用 Activator.CreateInstance?

如果我有一个类型参数约束new():voidFoo()whereT:new(){vart=newT();}newT()是否会在内部使用Activator.CreateInstance方法(即反射)? 最佳答案 是的,这是真的。编辑2:这里很好地解释了方法和原因。http://www.simple-talk.com/community/blogs/simonc/archive/2010/11/17/95700.aspx为了验证我编译了如下方法:publicstaticTCreate()whereT:new(){returnnewT()

c# - 委托(delegate)操作 : new Action or casting Action?

我发现了两种不同的方法来使用Action初始化Delegate:创建一个新的Action或转换为Action。Delegatefoo=newAction(()=>DoNothing(param));Delegatebar=(Action)(()=>DoNothing(param));这两种语法有区别吗?哪个更好,为什么?此示例中使用了委托(delegate),因为语法对于使用lambda表达式调用BeginInvoke或Invoke等方法很有用,并且将lambda表达式转换为操作很重要staticmain{Invoke((Action)(()=>DoNothing()));//OKIn

c# - 在 Directory.GetFiles 中使用通配符时出现 "Illegal characters in path"错误

我有一个包含多个包含.doc文件的子目录的目录。示例:C:\Users\user\Documents\testenviroment\Released\test0.docC:\Users\user\Documents\testenviroment\Debug\test1.docC:\Users\user\Documents1\testenviroment\Debug\test2.docC:\Users\user\Documents1\testenviroment\Released\test20.doc我想获取所有Debug文件夹下的所有test*.doc文件。我试过:string[]fi

c# - Lazy<T> 如何解决需要 new() 约束的问题?

示例1(不编译):voidMain(){varc=newC();c.M.F();}classC{T_m=null;publicTM{get{if(_m==null)_m=newT();return_m;}}}classD{publicvoidF(){Console.WriteLine("iwascreated");}}结果:Cannotcreateaninstanceofthevariabletype'T'becauseitdoesnothavethenew()constraint示例2(有效):voidMain(){varc=newC();c.M.F();}classC{Lazy_m