Beste tweakeraars,
Ik ben een student en beginnend met C#. Ik zit met een probleempje. Voor een applicatie moet ik gegevens uitlezen van een webservice. Dit doet mijn context klasse en set hiermee een Property. Constant word ook alleen deze property aangeroepen en niet de webservice opnieuw. Deze gegevens moeten in een ListBox komen. Dus de datasource voor die listbox is de property van mijn context en de displaymember is het Id. Nou heb ik een aantal testjes met een stopwatch gedaan, waarbij de totale loadtijd (wanneer de OnLoad() alles heeft uitgevoerd) 35 seconden was. Hieronder wat code die er op lijkt.
Aan die listbox zit nog een SelectedIndexChanged event handler die verdere data in een datagrid zet.
Heeft iemand suggesties hoe ik dit kan oplossen? Of kan iemand mij vertellen wat ik hier fout doe of kan verbeteren?
Ik ben een student en beginnend met C#. Ik zit met een probleempje. Voor een applicatie moet ik gegevens uitlezen van een webservice. Dit doet mijn context klasse en set hiermee een Property. Constant word ook alleen deze property aangeroepen en niet de webservice opnieuw. Deze gegevens moeten in een ListBox komen. Dus de datasource voor die listbox is de property van mijn context en de displaymember is het Id. Nou heb ik een aantal testjes met een stopwatch gedaan, waarbij de totale loadtijd (wanneer de OnLoad() alles heeft uitgevoerd) 35 seconden was. Hieronder wat code die er op lijkt.
C#:
1
2
3
4
5
6
7
8
| public class WebContext { public object[] array { get; set; } private WebService Service { get; set; } public WebContext() { array = Service.Fetch(); } } |
C#:
1
2
3
4
5
6
7
8
9
10
11
| public class WebRepo { private WebContext _wc { get; set; } public WebRepo() { _wc = new WebContext(); } public object[] FetchFromService() { _wc.array; } } |
C#:
1
2
3
4
5
6
7
8
9
10
11
| public class Controller { private WebRepo _wr { get; set; } public Controller() { _wr = new WebRepo(); } public object[] FetchFromServce() { _wr.FetchFromService(); } } |
C#:
1
2
3
4
5
6
7
8
9
10
11
12
| public partial class Form1 : Form { private Controller _c { get; set; } public Form1() { _c = new Controller(); } private void Form1_Load(object sender, EventArgs e) { listbox.DataSource = _c.FetchFromServce(); listbox.DisplayMember = "Id"; } } |
Aan die listbox zit nog een SelectedIndexChanged event handler die verdere data in een datagrid zet.
Heeft iemand suggesties hoe ik dit kan oplossen? Of kan iemand mij vertellen wat ik hier fout doe of kan verbeteren?