Browse Source

Updated ASP.Net API

master
Artyom Beilis 6 years ago
parent
commit
ebee0f2fd6
5 changed files with 55 additions and 7 deletions
  1. +17
    -7
      contrib/integration/session/asp.net/Session.cs
  2. +4
    -0
      contrib/integration/session/asp.net/build.sh
  3. +7
    -0
      contrib/integration/session/asp.net/test/example.aspx
  4. +23
    -0
      contrib/integration/session/asp.net/test/example.aspx.cs
  5. +4
    -0
      contrib/integration/session/asp.net/test/run.sh

+ 17
- 7
contrib/integration/session/asp.net/Session.cs View File

@@ -82,16 +82,26 @@ public class Session : SessionBase {
get { string r=ts(API.session_get_session_cookie_name(d)); check(); return r; }
}
public void Load(String cookie) { API.session_load(d,tb(cookie)); check(); }
public void Load(String cookie) {
API.session_set_session_cookie(d,tb(cookie));
API.session_load(d);
check();
}
public void Load(HttpRequest r)
{
HttpCookie c=r.Cookies[SessionCookieName];
string val;
if(c==null)
val = "";
else
val = c.Value;
string val = "";
string cookieName = SessionCookieName;
HttpCookieCollection cookies = r.Cookies;
int n=cookies.Count;
for(int i=0;i<n;i++) {
HttpCookie c = cookies[i];
if(c.Name == cookieName)
val = c.Value;
API.session_add_cookie_name(d,tb(c.Name));
}
API.session_set_session_cookie(d,tb(val));
API.session_load(d);
check();
}
public void Save() { API.session_save(d); check(); }
public Cookie[] Cookies {


+ 4
- 0
contrib/integration/session/asp.net/build.sh View File

@@ -0,0 +1,4 @@
#!/bin/bash
rm -f cppcms.dll
mcs -r:System.Web.dll *.cs -out:cppcms.dll || exit 1


+ 7
- 0
contrib/integration/session/asp.net/test/example.aspx View File

@@ -0,0 +1,7 @@
<%@ Page Language="C#" Inherits="Example" CodeFile="example.aspx.cs" %>

<html>
<body>
<p>Session Counter = <%=counter%></p>
</body>
</html>

+ 23
- 0
contrib/integration/session/asp.net/test/example.aspx.cs View File

@@ -0,0 +1,23 @@
using System;
using System.Web.UI;
using CppCMS.Session;
public partial class Example : Page {
static SessionPool pool;
static Example() {
pool = SessionPool.FromConfig("../../reference/config.js");
}
protected string counter = null;
protected void Page_Load(object sender,EventArgs e)
{
using(Session s = pool.Session()) {
s.Load(Request);
string v="0";
if(s.IsSet("x"))
v=s["x"];
v = (int.Parse(v) + 1).ToString();
s["x"]=v;
s.Save(Response);
counter = v;
}
}
}

+ 4
- 0
contrib/integration/session/asp.net/test/run.sh View File

@@ -0,0 +1,4 @@
#!/bin/bash
rm -f bin/cppcms.dll
cp ../cppcms.dll bin/
xsp --root=./

Loading…
Cancel
Save