Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.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# 列出所有会话变量,包括嵌套节点_C#_Asp.net_Session - Fatal编程技术网

C# 列出所有会话变量,包括嵌套节点

C# 列出所有会话变量,包括嵌套节点,c#,asp.net,session,C#,Asp.net,Session,我有一个可怕的时间,我知道如何用其他6种语言来做这件事,但不能让这工作 我想查看.NET应用程序中的所有会话变量,包括嵌套节点 我使用了这里的代码 我可以使用 <% for (int i = 0; i < Session.Count; i++) { var crntSession = Session.Keys[i]; Response.Write(string.Concat(crntSession, "=", Session[crntSession]) + "<

我有一个可怕的时间,我知道如何用其他6种语言来做这件事,但不能让这工作

我想查看.NET应用程序中的所有会话变量,包括嵌套节点

我使用了这里的代码

我可以使用

<% 
for (int i = 0; i < Session.Count; i++)
{
    var crntSession = Session.Keys[i];
    Response.Write(string.Concat(crntSession, "=", Session[crntSession]) + "<br />");
}
%>
如何迭代AdvUser并获取其值

我已经尝试过了,但它返回了一个错误CS1061:“对象”不包含“计数”的定义

for (int i = 0; i < Session["AdvUser"].Count; i++)

我只是不知道如何获取嵌套节点的值,它不必在C中,也可以在VB中,因为AdvUser似乎是TheName.WebFramework.Security.AdvanceUser类的实例,所以您尝试执行的操作没有真正意义。这个类有属性,但除非使用反射,否则不能像数组一样循环遍历它们

大概是这样的:

MyClass MyObject=new MyClass();
MemberInfo[]我的MemberInfo;
//获取类“MyClass”的类型。
类型myType=MyObject.GetType();
//获取类“MyClass”的公共实例成员。
myMemberInfo=myType.GetMembers(BindingFlags.Public | BindingFlags.Instance);
WriteLine(“\n类“{0}”的公共实例成员是:\n”,myType);
for(int i=0;i
您尝试执行的操作没有真正意义,因为AdvUser似乎是TheName.WebFramework.Security.AdvanceUser类的实例。这个类有属性,但除非使用反射,否则不能像数组一样循环遍历它们

大概是这样的:

MyClass MyObject=new MyClass();
MemberInfo[]我的MemberInfo;
//获取类“MyClass”的类型。
类型myType=MyObject.GetType();
//获取类“MyClass”的公共实例成员。
myMemberInfo=myType.GetMembers(BindingFlags.Public | BindingFlags.Instance);
WriteLine(“\n类“{0}”的公共实例成员是:\n”,myType);
for(int i=0;i
所以你基本上想枚举会话中的
N
类型数量并获取它们的属性?是的,这是我的基本问题,关于为什么我静态获取嵌套节点的尝试不起作用,您基本上想枚举会话中的
N
类型数量并获取它们的属性,有什么知识吗?是的,这是我的基本问题,我可以像这样直接打印会话的一个节点(因为我知道它存在),那么这是否仍然适用于您的答案,或者对其进行任何更改?这样我就可以像这样直接打印会话的一个节点(因为我知道它存在),那么这是否仍然适用于你的答案,或者改变了它?
for (int i = 0; i < Session["AdvUser"].Count; i++)
foreach (var crntSession in Session["AdvUser"].GetType())
MyClass MyObject = new MyClass();
     MemberInfo [] myMemberInfo; 

     // Get the type of the class 'MyClass'.
     Type myType = MyObject.GetType(); 

     // Get the public instance members of the class 'MyClass'. 
     myMemberInfo = myType.GetMembers(BindingFlags.Public|BindingFlags.Instance);

     Console.WriteLine( "\nThe public instance members of class '{0}' are : \n", myType); 
     for (int i =0 ; i < myMemberInfo.Length ; i++)
     {
        // Display name and type of the member of 'MyClass'.
        Console.WriteLine( "'{0}' is a {1}", myMemberInfo[i].Name, myMemberInfo[i].MemberType);
     }