Damn lastige... Ik heb 1 DLL en 2 clients waarvan in een later stadium zowel de clients als de assemblie over losse machines verdeeld worden.
client 1
client2
assemblie
Nu wil ik dat zowel client1 als client2 een referentie hebben op de assemblie zodat als ik bij client1 de stock op 10 zet deze ook voor client2 op 10 komt te staan. Probleem is dat nu nadat ik bij client1 stock op 5 zet en nadien op 10 netjes bij labels 10 weergeven wat het bewijs is dat de singleton werkt in 1 .exe, maar hoe kan ik nu client2 op dezelfde referentie de assemblie laten benaderen zodat die ook de stock waarde van 10 in zijn labeltje krijgt.
Als dat niet netjes simpel uitgelegd is dan weet ik het ook niet meer
Mijn bedoeling hiermee is om ltr meerdere client middel singleton en een model view controller op de business logica te hangen en automatische updates op de views te doen...tevens moet het model gezien het systeem contaminatie bewaking heeft netjes alles op 1 object uitgevoerd wordt... maar als dit simpele testproject nog niet wil
client 1
code:
1
2
3
4
5
6
7
8
| private Singleton.Singleton sSingleton1;
private Singleton.Singleton sSingleton2;
sSingleton1 = Singleton.Singleton.Instance();
sSingleton2 = Singleton.Singleton.Instance();
sSingleton1.Stock = 10;
sSingleton2.Stock = 5;
this.label1.Text = sSingleton1.Stock.ToString();
this.label2.Text = sSingleton2.Stock.ToString(); |
client2
code:
1
2
3
| private Singleton.Singleton sSingleton;
sSingleton = Singleton.Singleton.Instance();
sSingleton.Stock = 20; |
assemblie
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| using System;
namespace Singleton
{
/// <summary>
/// Summary description for Singleton.
/// </summary>
public class Singleton
{
private static Singleton instance;
private int _stock;
protected Singleton() {}
public static Singleton Instance()
{
if (instance == null)
{
instance = new Singleton();
};
return instance;
}
public void UpdateStock(int intStock)
{
_stock = intStock;
}
public int Stock
{
get
{
return _stock;
}
set
{
_stock = value;
}
}
}
} |
Nu wil ik dat zowel client1 als client2 een referentie hebben op de assemblie zodat als ik bij client1 de stock op 10 zet deze ook voor client2 op 10 komt te staan. Probleem is dat nu nadat ik bij client1 stock op 5 zet en nadien op 10 netjes bij labels 10 weergeven wat het bewijs is dat de singleton werkt in 1 .exe, maar hoe kan ik nu client2 op dezelfde referentie de assemblie laten benaderen zodat die ook de stock waarde van 10 in zijn labeltje krijgt.
Als dat niet netjes simpel uitgelegd is dan weet ik het ook niet meer
Mijn bedoeling hiermee is om ltr meerdere client middel singleton en een model view controller op de business logica te hangen en automatische updates op de views te doen...tevens moet het model gezien het systeem contaminatie bewaking heeft netjes alles op 1 object uitgevoerd wordt... maar als dit simpele testproject nog niet wil