[mapguide-users] Losing Session ID

Chris Gountanis cgountanis at mpower-tech.com
Tue Apr 10 14:34:50 EDT 2007


You could try setting session variables. I also found that in IIS settings
you can change the default 20 minute timeout to 60 minutes (or match your MG
session) for best results.


Set: Session["sessionIdSaved"] = sessionId;
Get: Session["sessionIdSaved "].ToString();




Chris
 
 
 
-----Original Message-----
From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Micha Lehmann
Sent: Tuesday, April 10, 2007 8:57 AM
To: mapguide-users at lists.osgeo.org
Subject: Re: [mapguide-users] Losing Session ID


When i´m going to put these line into i get a error:

Compiler Error CS0103 

The name 'mgSessionId ' does not exist in the current context

the code is like this:

<%@ Page Language="C#"  Debug="true" %>
<%@ Import Namespace = "OSGeo.MapGuide"%> <!--import der Klassenbibliotheken
-->
<!-- #Include File="utilityfunctions.aspx -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server"> 
    
    protected void DropDownList1_SelectedIndexChanged(object sender,
EventArgs e)
    {

    }    
   
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Unbenannte Seite</title>

</head>
<body>    

    <form id="form1" runat="server">    
    <div>
    
        <input type="hidden" name="SESSION" id="SESSION"
value="<%=mgSessionId%>" />
        <asp:DropDownList ID="DropDownList1" runat="server"
DataSourceID="ObjectDataSource1"
            DataTextField="C01" DataValueField="C02"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
AutoPostBack="True">
        </asp:DropDownList>
        <asp:DropDownList ID="DropDownList2" runat="server"
AutoPostBack="True" DataSourceID="ObjectDataSource2"
            DataTextField="C12" DataValueField="C01">
            <asp:ListItem></asp:ListItem>
        </asp:DropDownList>
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
InsertMethod="Insert"
            OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData"
TypeName="DataSet1TableAdapters.ALBSTRASSENTableAdapter">
            <InsertParameters>
                <asp:Parameter Name="C01" Type="String" />
                <asp:Parameter Name="C02" Type="String" />
            </InsertParameters>
        </asp:ObjectDataSource>        
        <asp:ObjectDataSource ID="ObjectDataSource2" runat="server"
OldValuesParameterFormatString="original_{0}"
            SelectMethod="GetDataByC13"
TypeName="DataSet2TableAdapters.E1000TableAdapter">
            <SelectParameters>
                <asp:ControlParameter ControlID="DropDownList1" Name="C13"
PropertyName="SelectedValue"
                    Type="String" />
            </SelectParameters>
        </asp:ObjectDataSource> 
      </div>
    </form>      
    
    <%
// MG Anmeldegedöns
String mgSessionId = GetParameters()["SESSION"];



try
{
    // Initialize the web-tier and connect to the Tux Site using
    // the Tux session identifier stored in PHP session state.

    InitializeWebTier();

    MgUserInformation userInfo = new MgUserInformation(mgSessionId);
    MgSiteConnection siteConnection = new MgSiteConnection();
    siteConnection.Open(userInfo);

    // Create a ResourceService object and use it to open the Map
    // object from the sessions repository. Use the Map object to
    // determine if the "ParcelMarker" layer is visible.

    MgResourceService resourceService =
siteConnection.CreateService(MgServiceType.ResourceService) as
MgResourceService;
    MgMap map = new MgMap();
    map.Open(resourceService, "Siel660355");

    //MgLayer layer = GetLayerByName(map, "ParcelMarker");
    //showClearButton = (layer == null) ? false : layer.GetVisible();
}
catch (MgException mge)
{
    Response.Write(mge.GetMessage());
    Response.Write(mge.GetDetails());
}
%>
   
    
    <form method="post" action="suche2.aspx">
    <p><input name="IDNR" type="text" value="<%=
DropDownList2.SelectedValue%>" /></p>
    <!-- <p><input name="sessionID" type="text" value="<%= mgSessionId%>"
id="Text1" />&nbsp;</p> -->
    <p><input type="submit" value="Suche" /></p>
    </form>   
    
</body>
</html>


Maybe i have to write the GetParameters Function in another way?

it´s like this

NameValueCollection GetParameters()
{
    return Request.HttpMethod == "GET" ? Request.QueryString : Request.Form;
}



Michael



Try putting <input type="hidden" name="SESSION" id="SESSION"
value="<%=mgSessionId%>" /> in the server-side form. When your page posts
back, it should now be part of the Request.Form collection, which can be
retrieved by GetParameters()

- Jackie
-- 
View this message in context:
http://www.nabble.com/Losing-Session-ID-tf3551971s16610.html#a9920249
Sent from the MapGuide Users mailing list archive at Nabble.com.

_______________________________________________
mapguide-users mailing list
mapguide-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-users




More information about the mapguide-users mailing list