0

我有一个旧系统,不是由我用经典 ASP 开发的。我有一个新系统,由我在 ASP.NET 中开发

如何将会话变量(不是复杂类型,只是简单的字符串或 int)传递到该经典 ASP 页面?我不需要任何回报。

要在作品中添加扳手 - 如果经典 ASP 站点位于不同的域上,我该如何进行“移交”或转移?

更新:不能使用通过查询字符串传递项目或将其存储在数据库中并让经典 ASP 从数据库中读取它的选项。

谢谢

4

2 回答 2

0

您可以使用一个经典的 asp 页面来设置会话变量,例如 post 参数。

然后从您的 asp.net 页面调用该经典的 asp 页面。

示例(不完整)session.asp:

if session("userIsloggedIn") = true and request.form("act") = "setSessionVar" then
    session(request.form("name")) = request.form("value")
end if

当然,这是某种 hack,但我们谈论的是经典的 asp...

于 2013-02-18T13:22:59.683 回答
0

我有一个不同的方向。我通过 cookie 交换了会话状态。添加这些方法。所以现在我没有直接调用 Session ,而是使用这些方法。

ASP.NET

 public static void AddSessionCookie(string key, string value)
    {
        var cookie = HttpContext.Current.Request.Cookies["SessionCookie"];
        if (cookie == null)
        {
            cookie = new HttpCookie("SessionCookie");
            cookie.Expires = DateTime.Now.AddHours(12);
            HttpContext.Current.Response.Cookies.Add(cookie);
            HttpContext.Current.Request.Cookies.Add(cookie);
        }

        HttpContext.Current.Session[key] = value;
        cookie[key] = value;
    }
    public static string GetSessionCookie(string key)
    {
        if (HttpContext.Current.Session[key] == null)
            return string.Empty;

        string cook = HttpContext.Current.Session[key].ToString();
        if (!String.IsNullOrEmpty(cook))
        {
            var cookie = HttpContext.Current.Request.Cookies["SessionCookie"];
            if (cookie == null)
            {
                cookie = new HttpCookie("SessionCookie");
                cookie.Expires = DateTime.Now.AddHours(12);
                HttpContext.Current.Response.Cookies.Add(cookie);
                HttpContext.Current.Request.Cookies.Add(cookie);
            }
            if (cookie != null)
                cookie[key] = cook;

            return cook;
        }
        return cook;
    }

然后经典

Function AddSessionCookie(key, value)

    Response.Cookies("SessionCookie")(key)= value
Response.Cookies("SessionCookie").Expires = DATE + 1
Session(key) = value

End Function

  Function GetSessionCookie(key)

If Session(key) <> "" Then
Response.Write(Session(key))
ELSEIF Response.Cookies("SessionCookie")(key) <> "" THEN
Session(key)=Response.Cookies("SessionCookie")(key)
Set GetSessionCookie = Session(key)
End If
End Function
于 2016-11-22T05:19:05.843 回答