同一个站,有asp也有asp.net,要求asp.net能读到asp的session。我的思路:
写asp页面,getsession.asp
<%
response.write(session("mysession"))
%>

解决方案 »

  1.   

    asp.net页面中,使用WebRequest,提交一个请求,并得到返回值:
            string Url = @"http://localhost/website/getsession.asp";
            System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(Url);
            req.Method = "get";
            System.Net.WebResponse res = req.GetResponse();
            System.IO.Stream ress = res.GetResponseStream();
            System.IO.StreamReader sr = new System.IO.StreamReader(ress, System.Text.Encoding.Default);
            string ResponseText = sr.ReadToEnd();        return ResponseText;
    用另一个页面写入测试值,test.asp:
    <%
    %>
      

  2.   

    用页面传参吧 ,两个环境下的session 不一样的;
      

  3.   

    用另一个页面写入测试值,test.asp: 
    <% 
    session("mysession")="myname"
    %>测试过程:
    先打开test.asp,向session中写入值;
    不关闭浏览器,打开asp.net页面,按理说ResponseText应该等于"myname",为何总是""呢??
      

  4.   

    response.write(session("mysession"))是输出流吧。asp应该不存在System.IO.Stream 的类吧,既然没有输出stream,又怎么获取呢
      

  5.   

    asp.net页面中,使用WebRequest,提交一个请求,并得到返回值: 
            string Url = @"http://localhost/website/getsession.asp"; 
            System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(Url); 
            req.Method = "get"; 
            System.Net.WebResponse res = req.GetResponse(); 
            System.IO.Stream ress = res.GetResponseStream(); 
            System.IO.StreamReader sr = new System.IO.StreamReader(ress, System.Text.Encoding.Default); 
            string ResponseText = sr.ReadToEnd();         return ResponseText; //不知这里为何是"",我直接打开http://localhost/website/getsession.asp,能看到页面显示myname。//这是c#分析asp页的内容,这都看不懂?
      

  6.   

    response.write(session("mysession"))'如果我这里改为response.write("test")asp.net页面就会得到"test"。
      

  7.   

    <%
    str=session("mysession")
    response.write(str) 
    %>这样网页就可以显示session出来了。
    但我再.net中还是读不出来