c# Werte dauerhaft in Session speichern

Diskutiere c# Werte dauerhaft in Session speichern im Developer Network Forum im Bereich Hardware & Software Forum; Hallo zusammen, erst einmal wollte ich ein großes Lob an die Betreiber dieses Forums aussprechen. Hier kann man ja wirklich eine unglaubliche...
  • c# Werte dauerhaft in Session speichern Beitrag #1
C

CVUser

Mitglied
Dabei seit
18.02.2013
Beiträge
16
Reaktionspunkte
0
Hallo zusammen,

erst einmal wollte ich ein großes Lob an die Betreiber dieses Forums aussprechen. Hier kann man ja wirklich eine unglaubliche Masse an Wissen abschöpfen. Klasse!

Leider konnte ich mit der Suche des Forums keinen Beitrag zu meinem Problem finden und eröffne deshalb dieses Thema.

Ich bin Neueinsteiger in der Programmiersprache C# .NET und würde gerne Werte über mehrere Forms übergeben, um damit arbeiten zu können. In PHP habe ich dies immer über Sessions gemacht um dann auf verschiedenen Seiten der Anwendung auf Werte Zugriff zu haben.
Ich habe bei Google schon nach dem Begriff gesucht und habe dann versucht passende Beispiele umzusetzen. Leider ohne Erfolg.

Ich habe zum Beispiel diesen Codeschnipsel gefunden und dann in meinen Code integriert.

Session["test"] = "Test word";
string test = (string)Session["test"];

Als Fehlermeldung bekam ich dann "The name Session does not exist in the current context".
Ich dachte, dass es vielleicht daran liegen könnte, dass die Variable nicht deklariert ist. Als ich
versuchte dies mit "string Session;" umzusetzen, erhielt ich folgende Fehlermeldung:

Error 1 The best overloaded method match for 'string.this[int]' has some invalid arguments
Error 2 Argument 1: cannot convert from 'string' to 'int'
Error 3 The best overloaded method match for 'string.this[int]' has some invalid arguments
Error 4 Argument 1: cannot convert from 'string' to 'int'

Ich kann leider nicht erkennen, was ich hier falsch mache.
Fehlt mir vielleicht eine Libary, die ich einbinden muss um die Session zu nutzen?

Ich danke Euch schon einmal im Voraus für Eure Hilfe.:winken:
 
  • c# Werte dauerhaft in Session speichern Beitrag #2
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
Hallo CVUser,

du kannst beim Erstellen der Form einfach ein Datenobjekt an die Form übergeben. Wenn du dabei eine eigene Klasse verwendest kannst du in ihr deine Werte speichern.

hier mal ein kleines Beispiel (Pseudocode in C# stil):
Code:
public class Form1 : Form
{
    private MyData m_Data;

    public Form1(MyData data)
    {
        m_Data = data;
    }

    public void DoSomething()
    {
        m_Data.Test = "Test word";
    }
}

Code:
public class Form2 : Form
{
    private MyData m_Data;

    public Form2(MyData data)
    {
        m_Data = data;
    }

    public void DoSomething()
    {
        Console.WriteLine(m_Data.Test)
    }
}

Code:
public class MyData
{
    private String m_Test;
    public String Test
    {
        get { return m_Test; }
        set { m_Test = value; }
    }

    public MyData()
    {
    }
}

Code:
public class Program
{
    public static void Main()
    {
        MyData data = new MyData();
        Form1 f1 = new Form1(data);
        Form2 f2 = new Form2(data);
        f1.DoSomething();
        f2.DoSOmething();
    }
}

Ich hoffe damit wird klar, was gemeint ist. Eine andere Möglichkeit (ist allerdings nicht zu raten) wäre es, eine Klasse komplett statisch anzulegen und in ihr die Werte zu speichern. Das käme der Funktion der Session aus PHP zwar näher, aber dann sollte man nochmal überdenken, wieso man überhaupt dann C# bzw. eine Objektorientierte Sprache benutzt.
 
Thema:

c# Werte dauerhaft in Session speichern

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.177
Beiträge
1.579.167
Mitglieder
55.871
Neuestes Mitglied
Mein-Helmut
Oben