FOK!forum / Digital Corner / Microsoft .NET - deel 1
Fortitudemaandag 15 maart 2010 @ 22:06


Bij deze een centraal topic voor alles Microsoft .NET. Voor C++ is er een ander topic. Als je vragen hebt beschrijf je probleem dan wel goed. We willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt. Dummies zijn trouwens meer dan welkom, slimmies helemaal.

Is dit de moeite waard?
Geen idee ik ken jou niet. Maar heb je ooit wel is iets willen programmeren en ben je een Windows gebruiker dan wordt het niet simpeler dan dit. Bekijk het filmpje bij links (Hello World filmpje) om een indruk te krijgen hoe snel je iets werkends aan de praat kan krijgen.

C#.NET of VB.NET?
De keuze is aan jou. De syntax (= manier dat code geschreven wordt) is anders maar daarnaast zijn de verschillen minimaal. Ik zou voor C#.NET kiezen. Deze taal wordt tegenwoordig meer gebruikt en gevraagd in het bedrijfsleven. Er zijn ook meer voorbeelden daarvan te vinden. De syntax is ook nagenoeg identiek aan die van Java. VB.NET wordt vooral gebruikt door de oude garde die het pre .NET tijdperk nog meegemaakt hebben. Veel VB.NET programmeurs zijn in de loop der tijd vergestapt naar C#.NET. Andersom gebeurd amper (vrijwillig).

Wat is ASP.NET?
De webtaal van .NET. Als je een beginner bent zou ik dit even links laten liggen. Je kan beter beginnen met een console applicatie of een Windows Forms applicatie. Ik raad het laatste aan. Dan zie je tenminste direct wat.

Wat is SQL Server?
Dit is de database van Microsoft. Dit valt eigenlijk buiten .NET maar aangezien het er vaak zo dicht tegenop legt kan dit ook wel besproken worden in dit topic.

Wat heb ik nodig om te beginnen?
Windows, .NET framework. en Visual Studio (de ontwikkelomgeving). Als je Windows up to date is heb je waarschijnlijk het .NET framework al. Van Visual Studio stelt Microsoft een beperkte versie gratis beschikbaar. Het zijn voornamelijk de exotische features die niet inbegrepen zijn wat dit perfect maakt voor alles behalve professionele gebruikers. Het enige nadeel is dat je moet kiezen tussen VB.NET, C#.NET of webdevelopment (ASP.NET). Van SQL server is ook een express versie verkrijgbaar. Het is allemaal zo geïnstalleerd dus gewoon proberen.

Zoals eerder al gezegd raad ik je aan om voor C#.NET te gaan en ASP.NET even links te laten liggen. Dus pak de Microsoft® Visual C#® 2008 Express Edition.

Links:

Ontwikkelomgeving:
http://www.microsoft.com/exPress/

Tutorials



Handige sites:
http://www.google.nl/ << Google is your friend
http://www.csharp-examples.net/examples/

[ Bericht 1% gewijzigd door Fortitude op 16-03-2010 12:38:39 ]
Fortitudemaandag 15 maart 2010 @ 22:07
Ik heb hem snel in elkaar geknald. Later wanneer ik meer tijd heb en wanneer dit topic een beetje loopt breid ik hem wel uit. Ik zou wel graag een goede simpele C# Winform tutorial hebben in de links. Dus als iemand er eentje weet roep maar.
TwenteFCmaandag 15 maart 2010 @ 22:08
Heb het op school ook, maar heb al gezien dat je op het HBO vrijwel geen C#/C/C++ nodig hebt.
De voertaal is daar Java

Toch maar TVP kan nog handig zijn later
Fortitudemaandag 15 maart 2010 @ 22:10
quote:
Op maandag 15 maart 2010 22:08 schreef TwenteFC het volgende:
Heb het op school ook, maar heb al gezien dat je op het HBO vrijwel geen C#/C/C++ nodig hebt.
De voertaal is daar Java

Toch maar TVP kan nog handig zijn later
De overstap is heel klein. Bijna copy en paste en het werkt. Ik ben afgestuurd met een .NET app en dat ging en de overstap ging erg soepel. Dus als je ooit nog is tijd over heb.
TwenteFCmaandag 15 maart 2010 @ 22:11
quote:
Op maandag 15 maart 2010 22:10 schreef Fortitude het volgende:

[..]

De overstap is heel klein. Bijna copy en paste en het werkt. Ik ben afgestuurd met een .NET app en dat ging en de overstap ging erg soepel. Dus als je ooit nog is tijd over heb.
Ja dat hadden ze al verteld, de syntax is redelijk vergelijkbaar.
Kan in C# al roulette maken oeehh.
Fortitudemaandag 15 maart 2010 @ 22:32
Mag dit trouwens een centraal topics worden modjes?
ZwaarRegenmaandag 15 maart 2010 @ 22:34
Dit is gaaf inderdaad, doe het nu al zo een 3 maanden en kan al aardig goed overweg met C#.

Messagebox.show("Instant epic!");
Juicyhilmaandag 15 maart 2010 @ 22:34
tvp
Fortitudemaandag 15 maart 2010 @ 22:37
Arg ik kan maar geen makkelijk winform filmpje vinden op youtube. Die ene die er nu staat is wel ok maar heeft geen spraak.
mscholmaandag 15 maart 2010 @ 22:39
ik heb mij eigenlijk alleen nog bezig gehouden met VB.net
ZwaarRegenmaandag 15 maart 2010 @ 22:39
Probeer eens The New Boston, die jonge heeft van elke taal wel 30 Videos.
En met elke taal bedoel ik echt van Html tot Python.

Hier is deel 1 van zijn C#:

Fortitudemaandag 15 maart 2010 @ 22:42
quote:
Op maandag 15 maart 2010 22:39 schreef ZwaarRegen het volgende:
Probeer eens The New Boston, die jonge heeft van elke taal wel 30 Videos.
En met elke taal bedoel ik echt van Html tot Python.

Hier is deel 1 van zijn C#:


Dat is C niet C#. Liefst heb ik overigens een WinForm app. Iets met een textbox en een button ofzo. Dat spreekt de beginner denk ik toch het meeste aan.
HenryHillmaandag 15 maart 2010 @ 22:43
1
2
3
4
foreach(char c in new char[]{'t', 'v', 'p'})
{
   Console.Write(c);
}
Fortitudemaandag 15 maart 2010 @ 22:47
Ok nu heb ik wel een leuk filmpje gevonden.
TcKh4ckermaandag 15 maart 2010 @ 23:11
VB.net Rules heb het me 3 jaar geleden helemaal zelf aangeleerd ik schrijf nu inmiddels R.A.T.'s
TwenteFCmaandag 15 maart 2010 @ 23:15
Handige sites:

http://www.csharp-examples.net/examples/

En waar ik nu voor school mee bezig ben, het Entity Framework

http://hookedonlinq.com/StandardQueryOperators.ashx

http://msdn.microsoft.com/en-us/netframework/aa904594.aspx

http://hookedonlinq.com/MainPage.ashx

http://www.singingeels.com/
TwenteFCmaandag 15 maart 2010 @ 23:27
quote:
Op maandag 15 maart 2010 23:11 schreef TcKh4cker het volgende:
VB.net Rules heb het me 3 jaar geleden helemaal zelf aangeleerd ik schrijf nu inmiddels R.A.T.'s
VB is wel een beetje beperkt als je het mij vraagt. Persoonlijk zou ik eerder C# leren dan VB.NET
TallMandinsdag 16 maart 2010 @ 00:25
Och, doen we in dit topic geen kennis uitwisselen over SSRS? Ben ik pas geleden nog mee bezig geweest. Zeker leuke dingen te doen icm table functions van je SQL server.
TallMandinsdag 16 maart 2010 @ 00:27
quote:
Op maandag 15 maart 2010 23:27 schreef TwenteFC het volgende:

[..]

VB is wel een beetje beperkt als je het mij vraagt. Persoonlijk zou ik eerder C# leren dan VB.NET
Hoezo is VB.Net beperkt, er zijn wat kleine verschillen t.o.v. C#. Maar om te zeggen dat die nou een massieve beperking vormen, nee.

C# leren ipv VB zou ik dan eerder aanraden ivm de grotere syntaktische gelijkenis met C/C++/java.
Fortitudedinsdag 16 maart 2010 @ 00:32
quote:
Op dinsdag 16 maart 2010 00:25 schreef TallMan het volgende:
Och, doen we in dit topic geen kennis uitwisselen over SSRS? Ben ik pas geleden nog mee bezig geweest. Zeker leuke dingen te doen icm table functions van je SQL server.
SSRS / Crystal Reports mag ook. Alles .NET eigenlijk. Deze topics lopen blijkbaar niet zo hard dus ik stel voor dat je het gewoon neergooit.

Ik zelf heb weinig ervaring met SSRS. Het is inderdaad wel mooi om snel rapporten te genereren. Persoonlijk blijf ik er echter wel liever weg bij tools als SSRS. Ik programmeer liever.
TallMandinsdag 16 maart 2010 @ 08:29
quote:
Op dinsdag 16 maart 2010 00:32 schreef Fortitude het volgende:
Persoonlijk blijf ik er echter wel liever weg bij tools als SSRS. Ik programmeer liever.
Bedrijf is hier dusdanig klein dat de programmeeropdrachten die ik doe van alles kunnen behelzen. En dan kan ik wel zelf een web-based rapporting system gaan schrijven, maar ik blijf eigenlijk liever weg bij ASP.NET doordat mijn kennis richting good-practices bij webdevelopment er niet zijn en ik er weinig interesse in heb. Dan is zo'n reporting system die zoiets voor je doet wel makkelijk.
Netsplitterdinsdag 16 maart 2010 @ 08:31
Mag ik het een beetje vreemd vinden dat SQL Server hier bij staat?
Snap de connectie niet helemaal.
Wijnbodinsdag 16 maart 2010 @ 08:58
quote:
Op dinsdag 16 maart 2010 08:31 schreef Netsplitter het volgende:
Mag ik het een beetje vreemd vinden dat SQL Server hier bij staat?
Snap de connectie niet helemaal.
T-SQL was logischer geweest inderdaad.
Fortitudedinsdag 16 maart 2010 @ 09:29
quote:
Op dinsdag 16 maart 2010 08:29 schreef TallMan het volgende:

[..]

Bedrijf is hier dusdanig klein dat de programmeeropdrachten die ik doe van alles kunnen behelzen. En dan kan ik wel zelf een web-based rapporting system gaan schrijven, maar ik blijf eigenlijk liever weg bij ASP.NET doordat mijn kennis richting good-practices bij webdevelopment er niet zijn en ik er weinig interesse in heb. Dan is zo'n reporting system die zoiets voor je doet wel makkelijk.
Hier precies hetzelfde. Het is dus ook wel goed totdat je iets wilt wat niet kan. Dan is het niet mogelijk of moet je jezelf in rare bochten wringen. Tot nu toe is dat gelukkig nog niet het geval geweest.
quote:
Op dinsdag 16 maart 2010 08:31 schreef Netsplitter het volgende:
Mag ik het een beetje vreemd vinden dat SQL Server hier bij staat?
Snap de connectie niet helemaal.
Het is een buitenbeentje inderdaad. Ik heb het er maar bij gezet omdat daar ook een express versie van is. Omdat elke .NET developer daar ook wel wat ervaring mee heeft. En omdat de database sowieso erg dicht op de code ligt tegenwoordig met domain-driven development en ORMs.

Als dit erg hard loopt dan zal ik het wel los trekken.
Fortitudedinsdag 16 maart 2010 @ 09:39
Van mij apart wordt dit trouwens het .NET draadje. Probleem is alleen dat C++ topic wat ook in .NET zit. Beetje dubbel op.
progjedinsdag 16 maart 2010 @ 10:10
quote:
Op maandag 15 maart 2010 23:27 schreef TwenteFC het volgende:

[..]

VB is wel een beetje beperkt als je het mij vraagt. Persoonlijk zou ik eerder C# leren dan VB.NET
Ik vind vooral de VB.Net syntax erg ranzig....
Maar ja dat blijft natuurlijk ook persoonlijke voorkeur
mstxdinsdag 16 maart 2010 @ 10:35
TVPtje voor het C#.Net gedeelte.
Jo0Lzdinsdag 16 maart 2010 @ 12:50
Topic centraal en tt aangepast.
Fortitudedinsdag 16 maart 2010 @ 12:52
quote:
Op dinsdag 16 maart 2010 12:50 schreef Jo0Lz het volgende:
Topic centraal en tt aangepast.
Thanks.
Wijnbodinsdag 16 maart 2010 @ 13:01
quote:
Op dinsdag 16 maart 2010 10:10 schreef progje het volgende:

[..]

Ik vind vooral de VB.Net syntax erg ranzig....
Maar ja dat blijft natuurlijk ook persoonlijke voorkeur
Vind ik ook.

var price = 15.3d -->Double defineren in C#

Dim price As Double = 15.3 -->Double in VB
Fortitudedinsdag 16 maart 2010 @ 13:05
quote:
Op dinsdag 16 maart 2010 13:01 schreef Wijnbo het volgende:

var price = 15.3d -->Double defineren in C#
Ik doe dit eigenlijk zelden. Ik gebruik meestal gewoon Double.
Wijnbodinsdag 16 maart 2010 @ 14:19
quote:
Op dinsdag 16 maart 2010 13:05 schreef Fortitude het volgende:

[..]

Ik doe dit eigenlijk zelden. Ik gebruik meestal gewoon Double.
Dan nog, debiel hoofdlettergebruik in VB.NET....
1
2
3
4
5
Dim jantje As Integer

If True AndAlso 1 = 1 Then
  jantje = 1
End if


vs

1
2
3
4
5
6
int jantje;

if (true && 1 == 1)
{
  jantje = 1;
}



Voor mijn werk programmeer ik praktisch alleen VB, maar heeft me wel wat moeite gekost om over te stappen...
TallMandinsdag 16 maart 2010 @ 14:53
quote:
Op dinsdag 16 maart 2010 13:01 schreef Wijnbo het volgende:

var price = 15.3d -->Double defineren in C#

Kun je overigens pas vanaf framework 3.5.

C# syntax vind ik persoonlijk was leesbaarder, maar als je kijkt wat voor inhaalslag VB.Net syntax moest maken vanuit de achtergestelde wereld die VB4/5/6 heette hebben ze dat best goed gedaan. En met een vb taal in je .NET framework opnemen trek je wel een hoop figuren aan die in eerdere VB's en excel met vba hebben gewerkt.
Een taal om syntax afkraken is imo onzinnig. Het gaat om de functionaliteit die een taal je biedt en niet of je nu wel of niet 'then' achter je 'if' aanschrijft.
Functioneel bekeken ligt VB.Net slechts licht achter op C#.
Fortitudedinsdag 16 maart 2010 @ 15:04
quote:
Op dinsdag 16 maart 2010 14:53 schreef TallMan het volgende:

[..]

Kun je overigens pas vanaf framework 3.5.

C# syntax vind ik persoonlijk was leesbaarder, maar als je kijkt wat voor inhaalslag VB.Net syntax moest maken vanuit de achtergestelde wereld die VB4/5/6 heette hebben ze dat best goed gedaan. En met een vb taal in je .NET framework opnemen trek je wel een hoop figuren aan die in eerdere VB's en excel met vba hebben gewerkt.
Een taal om syntax afkraken is imo onzinnig. Het gaat om de functionaliteit die een taal je biedt en niet of je nu wel of niet 'then' achter je 'if' aanschrijft.
Functioneel bekeken ligt VB.Net slechts licht achter op C#.
Wat ik wel graag wil in C# wat VB wel heeft is een manier om automatisch de niet gebruikte references te verwijderen.
TallMandinsdag 16 maart 2010 @ 15:39
quote:
Op dinsdag 16 maart 2010 15:04 schreef Fortitude het volgende:

[..]

Wat ik wel graag wil in C# wat VB wel heeft is een manier om automatisch de niet gebruikte references te verwijderen.
Net even snel een C# Projektje aangemaakt (windowsapp) om te kjiken. Je kunt makkelijk de unused usings laten verwijderen, vreemd dat ze de references niet auto kunnen checken

Maar doe mij dan in VB de refactor mogelijkheden van C#. Zit helaas op werk aan VB vast.
Wijnbodinsdag 16 maart 2010 @ 16:00
Ohjah, resharper enzo.
PerryVogelbekdierdinsdag 16 maart 2010 @ 23:03
Ik moet me hierin ook verdiepen, maar hoe te beginnen met leren?
Iemand tips om dit versneld naar binnen te werken (ben meer van het praktische ipv theoretisch)
Fortitudedinsdag 16 maart 2010 @ 23:07
quote:
Op dinsdag 16 maart 2010 23:03 schreef PerryVogelbekdier het volgende:
Ik moet me hierin ook verdiepen, maar hoe te beginnen met leren?
Iemand tips om dit versneld naar binnen te werken (ben meer van het praktische ipv theoretisch)
OP gelezen? Maak die 2 tutorials die daar staan en maak vervolgens wat je wilt.
mscholdinsdag 16 maart 2010 @ 23:11
even vraagje: (m.b.t. VB.net)
ik wil een zoekfunctie hebben waarbij ik d.m.v. een regex op bestanden/mappen kan filteren

dit heb ik ooit redelijk oke gemaakt met zelfs een recursive zoekfunctie. echter liep ik tegen 1 ding aan waar ik niet uitkwam.
mappen waar je niet in mag zoeken (bijvoorbeeld System Volume Information) loopt hij op vast met een access denied error.
mijn workaround hiervoor was de map aan een exclude list toevoegen (denk aan iets simpels als:
if mapnaam exists in <array-met-niet-toegangkelijke-mappen> then skip)


dit vind ik echter niet mooi.. nou heb ik wat gelezen over Impersonating van een gebruiker (b.v. system) die WEL de mappen door kan zoeken..
maar:
A) kan dit wel (veiligheids opzicht)
B) zo ja: hoe, ik kan namelijk geen goede/duidelijke voorbeelden vinden
C) kan dit eventueel in een andere .NET taal WEL makkelijk(er)?
PerryVogelbekdierwoensdag 17 maart 2010 @ 05:59
quote:
Op dinsdag 16 maart 2010 23:07 schreef Fortitude het volgende:

[..]

OP gelezen? Maak die 2 tutorials die daar staan en maak vervolgens wat je wilt.
jup, en het was meer een tvp, omdat ik gisteravond er geen tijd meer voor had
progjewoensdag 17 maart 2010 @ 09:15
quote:
Op dinsdag 16 maart 2010 23:11 schreef mschol het volgende:
even vraagje: (m.b.t. VB.net)
ik wil een zoekfunctie hebben waarbij ik d.m.v. een regex op bestanden/mappen kan filteren

dit heb ik ooit redelijk oke gemaakt met zelfs een recursive zoekfunctie. echter liep ik tegen 1 ding aan waar ik niet uitkwam.
mappen waar je niet in mag zoeken (bijvoorbeeld System Volume Information) loopt hij op vast met een access denied error.
mijn workaround hiervoor was de map aan een exclude list toevoegen (denk aan iets simpels als:
if mapnaam exists in <array-met-niet-toegangkelijke-mappen> then skip)


dit vind ik echter niet mooi.. nou heb ik wat gelezen over Impersonating van een gebruiker (b.v. system) die WEL de mappen door kan zoeken..
maar:
A) kan dit wel (veiligheids opzicht)
B) zo ja: hoe, ik kan namelijk geen goede/duidelijke voorbeelden vinden
C) kan dit eventueel in een andere .NET taal WEL makkelijk(er)?
Ik begrijp niet helemaal wat nou precies de bedoeling is van je programma
En wat voor een nut het dan heeft dat je programma mappen? terug geeft waarop je eigenlijk geen rechten hebt.

HIer staat wel een simpel voorbeeld, zowel in de config als in code:

http://support.microsoft.com/kb/306158
Fortitudewoensdag 17 maart 2010 @ 09:20
quote:
Op dinsdag 16 maart 2010 23:11 schreef mschol het volgende:

C) kan dit eventueel in een andere .NET taal WEL makkelijk(er)?
Als het goed is niet want je gebruikt de .NET libraries.
mscholwoensdag 17 maart 2010 @ 09:46
quote:
Op woensdag 17 maart 2010 09:15 schreef progje het volgende:

[..]

Ik begrijp niet helemaal wat nou precies de bedoeling is van je programma
En wat voor een nut het dan heeft dat je programma mappen? terug geeft waarop je eigenlijk geen rechten hebt.

HIer staat wel een simpel voorbeeld, zowel in de config als in code:

http://support.microsoft.com/kb/306158
ik geef geen mappen terug maar bestandsnamen
het is zeg maar een geavanceerde versie van GetFiles()
met o.a. extra opties als: recusief zoeken, accepteert regular expressions (voor b.v zoeken naar *.txt EN *.mkv)
daarnaast is het niet een geheel programma.. alleen een functie die een array met namen teruggeeft voor verder gebruik
Gestiechvrijdag 19 maart 2010 @ 00:39
Misschien dat de kenners hier mij verder kunnen helpen.
Ik ben bezig met een applicatie (een test om precies te zijn) waarin op het scherm 18 images van 50x50p worden geladen.
Nu lukt dat op zich. Alleen niet erg efficiënt. Op het moment laad ik telkens alle images vanaf de harddisk. Dat zal me ongetwijfeld snelheid kosten, en sowieso is het gewoon niet praktisch aangezien ik telkens dezelfde images gebruik (scherm wordt vaak ververst, maar niet continu).
Eigenlijk zou ik dus de images als een soort 'existing item' toe willen voegen en vanuit het geheugen kunnen benaderen.
Heeft iemand hier ervaring mee? Hoe moet ik dat aanpakken?


ps. het gaat dus om C#, VS 2008.
Gestiechvrijdag 19 maart 2010 @ 18:06
quote:
Op vrijdag 19 maart 2010 00:39 schreef Gestiech het volgende:
Misschien dat de kenners hier mij verder kunnen helpen.
Ik ben bezig met een applicatie (een test om precies te zijn) waarin op het scherm 18 images van 50x50p worden geladen.
Nu lukt dat op zich. Alleen niet erg efficiënt. Op het moment laad ik telkens alle images vanaf de harddisk. Dat zal me ongetwijfeld snelheid kosten, en sowieso is het gewoon niet praktisch aangezien ik telkens dezelfde images gebruik (scherm wordt vaak ververst, maar niet continu).
Eigenlijk zou ik dus de images als een soort 'existing item' toe willen voegen en vanuit het geheugen kunnen benaderen.
Heeft iemand hier ervaring mee? Hoe moet ik dat aanpakken?


ps. het gaat dus om C#, VS 2008.
Niemand?
Fortitudevrijdag 19 maart 2010 @ 18:18
quote:
Op vrijdag 19 maart 2010 18:06 schreef Gestiech het volgende:

[..]

Niemand?
Sowieso kan je plaatjes opslaan in een byte[]. En anders misschien is naar de Bitmap klasse kijken. Moet sowieso mogelijk zijn om plaatjes in het geheugen te laden.
OEMvrijdag 19 maart 2010 @ 20:01
quote:
Op vrijdag 19 maart 2010 00:39 schreef Gestiech het volgende:
Misschien dat de kenners hier mij verder kunnen helpen.
Ik ben bezig met een applicatie (een test om precies te zijn) waarin op het scherm 18 images van 50x50p worden geladen.
Nu lukt dat op zich. Alleen niet erg efficiënt. Op het moment laad ik telkens alle images vanaf de harddisk. Dat zal me ongetwijfeld snelheid kosten, en sowieso is het gewoon niet praktisch aangezien ik telkens dezelfde images gebruik (scherm wordt vaak ververst, maar niet continu).
Eigenlijk zou ik dus de images als een soort 'existing item' toe willen voegen en vanuit het geheugen kunnen benaderen.
Heeft iemand hier ervaring mee? Hoe moet ik dat aanpakken?


ps. het gaat dus om C#, VS 2008.
Image toevoegen aan de project, bij properties van de image de build action op Embedded Resource zetten. Vervolgens kun je at runtime erbij via een resource manager (moeje ff googlen, weet ik niet uit het hoofd)
TallManvrijdag 19 maart 2010 @ 20:06
Daarvoor kom ik dan weer snel http://msdn.microsoft.com/en-us/library/aa287676(VS.71).aspx tegen.
OEMvrijdag 19 maart 2010 @ 20:09
quote:
Op dinsdag 16 maart 2010 14:53 schreef TallMan het volgende:

[..]

Kun je overigens pas vanaf framework 3.5.

Dit werkt prima met framework 2.0 (en waarschijnlijk zelfs ook met 1.0 en 1.1). Die var-syntax is onderdeel van de c# taal en niet van het framework, en is erbij gekomen in C#-versie 3.0.

Visual Studio 2005 = C# 2.0, .Net 2.0
Visual Studio 2008 = C# 3.0, .Net 2.0, 3.0, 3.5 (opgeven via target framework in project options)
OEMvrijdag 19 maart 2010 @ 20:36
quote:
Op dinsdag 16 maart 2010 23:11 schreef mschol het volgende:
even vraagje: (m.b.t. VB.net)
ik wil een zoekfunctie hebben waarbij ik d.m.v. een regex op bestanden/mappen kan filteren

dit heb ik ooit redelijk oke gemaakt met zelfs een recursive zoekfunctie. echter liep ik tegen 1 ding aan waar ik niet uitkwam.
mappen waar je niet in mag zoeken (bijvoorbeeld System Volume Information) loopt hij op vast met een access denied error.
mijn workaround hiervoor was de map aan een exclude list toevoegen (denk aan iets simpels als:
if mapnaam exists in <array-met-niet-toegangkelijke-mappen> then skip)


dit vind ik echter niet mooi.. nou heb ik wat gelezen over Impersonating van een gebruiker (b.v. system) die WEL de mappen door kan zoeken..
maar:
A) kan dit wel (veiligheids opzicht)
B) zo ja: hoe, ik kan namelijk geen goede/duidelijke voorbeelden vinden
C) kan dit eventueel in een andere .NET taal WEL makkelijk(er)?
Het switchen van de user context is een operating systeem aangelegenheid, geen .net aangelegenheid.

A. ja het kan
B. zie bv. http://www.codeproject.com/KB/cs/zetaimpersonator.aspx
C. je zal gebruik moeten maken van win32, dus makkelijker zal het niet worden met een andere .net taal

probleem blijft met impersonation op deze manier is waar je de username/password een beetje veilig gaat opslaan.
Core2vrijdag 19 maart 2010 @ 21:05
quote:
Op dinsdag 16 maart 2010 14:53 schreef TallMan het volgende:

[..]

Kun je overigens pas vanaf framework 3.5.

C# syntax vind ik persoonlijk was leesbaarder, maar als je kijkt wat voor inhaalslag VB.Net syntax moest maken vanuit de achtergestelde wereld die VB4/5/6 heette hebben ze dat best goed gedaan. En met een vb taal in je .NET framework opnemen trek je wel een hoop figuren aan die in eerdere VB's en excel met vba hebben gewerkt.
Een taal om syntax afkraken is imo onzinnig. Het gaat om de functionaliteit die een taal je biedt en niet of je nu wel of niet 'then' achter je 'if' aanschrijft.
Functioneel bekeken ligt VB.Net slechts licht achter op C#.
Het is gewoon persoonlijk. Ik vind zelf iterators van c# wel handig, maar vb.net heeft bijvoorbeeld xml literals die handig zijn bij het opstellen van xml documenten. Een .net programmeur zou m.i. niet veel moeite moeten hebben om te switchen tussen de twee talen.
Gestiechvrijdag 19 maart 2010 @ 22:34
@ Fortitude & OEM:
Werkt perfect! Thanks! Was even klooien, want werkte eerst met het streamvoorbeeld zoals in de link hierboven, maar vanuit die stream eerst in een bitmap zetten (en die in een list) is in mijn geval praktischer.
Uiteindelijk gelukt.
mscholvrijdag 19 maart 2010 @ 22:50
quote:
Op vrijdag 19 maart 2010 20:36 schreef OEM het volgende:

[..]

Het switchen van de user context is een operating systeem aangelegenheid, geen .net aangelegenheid.

A. ja het kan
B. zie bv. http://www.codeproject.com/KB/cs/zetaimpersonator.aspx
C. je zal gebruik moeten maken van win32, dus makkelijker zal het niet worden met een andere .net taal

probleem blijft met impersonation op deze manier is waar je de username/password een beetje veilig gaat opslaan.
ok, thnx zodra ik de tijd heb ga ik er naar kijken
opslaan user+password is geen probleem, het is een prive projectje om enkele (zeg ongeveer 5k aan video bestanden + de technische info
Arn0zaterdag 20 maart 2010 @ 23:34
Tvp. Ben bezig met een jaaropdracht voor school en ga binnenkort proberen via Visual Basic dingen in een MySQL database aan te passen. Dat wordt wat
Juicyhilzaterdag 20 maart 2010 @ 23:35
quote:
Op zaterdag 20 maart 2010 23:34 schreef Arn0 het volgende:
Tvp. Ben bezig met een jaaropdracht voor school en ga binnenkort proberen via Visual Basic dingen in een MySQL database aan te passen. Dat wordt wat
Dat kun je met de MySQL .NET Connector.
Het gaat gewoon op dezelfde manier als MSSQL.
Fortitudezaterdag 20 maart 2010 @ 23:37
quote:
Op zaterdag 20 maart 2010 23:34 schreef Arn0 het volgende:
Tvp. Ben bezig met een jaaropdracht voor school en ga binnenkort proberen via Visual Basic dingen in een MySQL database aan te passen. Dat wordt wat
Waarom VB en waarom zie je er tegen op. Zo boeit is dat niet hoor. Alhoewel ik eerder database werk met SQL zou doen.
Arn0zaterdag 20 maart 2010 @ 23:39
Visual Basic moet ik gebruiken van mijn school. En ik wil graag MySQL gebruiken omdat ik de opgeslagen gegevens wil weergeven op een website en vind MySQL + PHP wel gemakkelijk. Ben niets anders gewoon.
Juicyhilzaterdag 20 maart 2010 @ 23:42
MySqlCommand comm = new MySqlCommand("SELECT * FROM Employees", connection)
MySqlReader read = comm.ExecuteScalar()

En dan die MySqlReader uitlezen zoals een SqlReader.
Gestiechmaandag 22 maart 2010 @ 00:17
Ik heb een Solution met daarbij een setup project.
Wat ik zou willen is dat de install-folder ook weer verwijderd wordt bij het deïnstalleren van het programma. Om de een of andere reden gebeurt dat op het moment niet.
Kan dit te maken hebben met het feit dat het een x86 applicatie is die geinstalleerd wordt op een 64-bit Windows 7 machine? Hij installeert 'm gewoon in de x86 map, uiteraard, maar ik dacht dat bij het deinstalleren de installer zoekt in de gewone program files map ipv. in de program files x86 map. Dan vindt hij natuurlijk niet de folder die verwijderd moet worden. Kan dat het probleem zijn?

Verder natuurlijk iedere oplossing welkom Het is wel belangrijk dat het via Windows Installer werkt. Volgens mij heb ik daardoor niets aan de Installer class (dit werd eerder al geopperd door iemand).
mscholmaandag 22 maart 2010 @ 00:21
de mapnaam van program files wordt volgens mij door windows doorgegeven, dus daar mag het niet aan liggen.

geeft je in je setup wel aan dat hij de map moet verwijderen? (open deur intrappen, i know)
zijn er misschien bestanden in gebruik in de map dat hij hem daarom misschien niet verwijderd?

start je installatie eens met een log optie aan
Gestiechmaandag 22 maart 2010 @ 00:33
Het is vast een ontzettende noobvraag, maar ik heb werkelijk geen idee waar ik aan kan geven dat een bepaalde folder verwijderd moet worden bij uninstall. Ik had gelezen dat dat vanzelf gebeurde (in het geval van een setup-project) Bestanden zijn in ieder geval niet in gebruik, dat is 100% zeker.

Als je bedoelt tijdens het deinstalleren: daar kan ik helemaal niets aangeven. Ik ga gewoon naar software in het configuratiescherm, en verwijder 'm daar uit de lijst. Dat gaat vol-automatisch.
Gestiechmaandag 22 maart 2010 @ 00:57
Het is al gelukt. Uiteindelijk toch gevonden via Google. Moest dus een project output toevoegen aan de uninstaller, waarbij die project output de mappen verwijdert.
Gestiechvrijdag 26 maart 2010 @ 20:47
Ik ben dit topic een beetje in mijn eentje aan het vullen....

Ik heb een tijdje zitten googelen maar ik kan niet ontdekken hoe ik een losse applicatie kan maken, naast de hoofdapplicatie en met een eigen installer dus, die bestanden uit kan lezen (deserializen) die in het andere programma zijn opgeslagen.

Dat moet toch wel kunnen..?

Edit, dus: Applicatie A en Applicatie B.
In A serialize ik een class.
in B wil ik die class deserializen, zodat de data in die app gebruikt kan worden.

[ Bericht 16% gewijzigd door Gestiech op 26-03-2010 20:56:49 ]
mscholvrijdag 26 maart 2010 @ 22:41
quote:
Op vrijdag 26 maart 2010 20:47 schreef Gestiech het volgende:
Ik ben dit topic een beetje in mijn eentje aan het vullen....

Ik heb een tijdje zitten googelen maar ik kan niet ontdekken hoe ik een losse applicatie kan maken, naast de hoofdapplicatie en met een eigen installer dus, die bestanden uit kan lezen (deserializen) die in het andere programma zijn opgeslagen.

Dat moet toch wel kunnen..?

Edit, dus: Applicatie A en Applicatie B.
In A serialize ik een class.
in B wil ik die class deserializen, zodat de data in die app gebruikt kan worden.
kan je niet gewoon de data/class serializen, opslaan in een (tijdelijk) bestand en die weer uitlezen?
OEMvrijdag 26 maart 2010 @ 22:45
quote:
Op vrijdag 26 maart 2010 20:47 schreef Gestiech het volgende:
Ik ben dit topic een beetje in mijn eentje aan het vullen.... :P

Ik heb een tijdje zitten googelen maar ik kan niet ontdekken hoe ik een losse applicatie kan maken, naast de hoofdapplicatie en met een eigen installer dus, die bestanden uit kan lezen (deserializen) die in het andere programma zijn opgeslagen.

Dat moet toch wel kunnen..?

Edit, dus: Applicatie A en Applicatie B.
In A serialize ik een class.
in B wil ik die class deserializen, zodat de data in die app gebruikt kan worden.
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
        /// <summary>
        /// XmlSerialize an object to a file
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="filename"></param>
        public static void SerializeToFile(object obj, string filename)
        {
            XmlSerializer xs = new XmlSerializer(obj.GetType());

            using (TextWriter tw = new StreamWriter(filename))
            {
                xs.Serialize(tw, obj);
            }
        }

        /// <summary>
        /// XmlDeserialize an object from a file
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static object DeserializeFromFile(string filename, Type type)
        {
            XmlSerializer xs = new XmlSerializer(type);

            object obj = null;

            using (TextReader tr = new StreamReader(filename))
            {
                obj = xs.Deserialize(tr);
            }

            return obj;
        }
Fortitudevrijdag 26 maart 2010 @ 22:59
Ik heb hier geen ervaring mee. Maar communicatie door middel van files lijkt me niks. Vooral als je ze naar de HDD schrijft. Ik zou eerder naar web services / SOAP kijken.
OEMvrijdag 26 maart 2010 @ 23:07
quote:
Op vrijdag 26 maart 2010 22:59 schreef Fortitude het volgende:
Ik heb hier geen ervaring mee. Maar communicatie door middel van files lijkt me niks. Vooral als je ze naar de HDD schrijft. Ik zou eerder naar web services / SOAP kijken.
Lijkt me een beetje overkill? Waar gaat je webservice de boel opslaan? Database? Laat die programma's dan in de database roeren via een common datalayer.
Fortitudevrijdag 26 maart 2010 @ 23:24
quote:
Op vrijdag 26 maart 2010 23:07 schreef OEM het volgende:

[..]

Lijkt me een beetje overkill? Waar gaat je webservice de boel opslaan? Database? Laat die programma's dan in de database roeren via een common datalayer.
Hoezo opslaan? Dat is toch geen vereiste voor web services. Het is gewoon een universele manier om functies bereikbaar te stellen. Zo moeilijk is dat ook volgens mij niet met .NET.

http://www.codeproject.com/KB/webservices/myservice.aspx
Gestiechvrijdag 26 maart 2010 @ 23:44
quote:
Op vrijdag 26 maart 2010 22:59 schreef Fortitude het volgende:
Ik heb hier geen ervaring mee. Maar communicatie door middel van files lijkt me niks. Vooral als je ze naar de HDD schrijft. Ik zou eerder naar web services / SOAP kijken.
Het is niet echt communicatie. Niet in de zin van dat ik letterlijk verschillende applicaties 'met elkaar wil laten praten' op die manier iig.

Het betreft een test.
Aan het eind van de test wordt het databestand opgeslagen met de gegevens van de gemaakte test.
De gebruiker kan vervolgens zelf bepalen welke testgegevens hij door wil sturen (mailen, zit in de app ingebakken) en welke niet.
Vervolgens kan de persoon die die gegevens ontvangt in applicatie nummer 2 de gegevens uitlezen, ze scoren, en vervolgens het resultaat terugsturen naar de persoon die ze gemaild heeft.

Maar goed, het is verder ook niet mijn keuze om het zo te doen, al vind ik het geen slecht systeem. Ik doe het 'in opdracht van' een kennis.
Gestiechvrijdag 26 maart 2010 @ 23:45
quote:
Op vrijdag 26 maart 2010 22:45 schreef OEM het volgende:

[..]
[ code verwijderd ]


Ah. Even proberen. Ik gebruikte dus de verkeerde serialize class (ik gebruikte gewoon serialize, niet xml).
Gestiechzaterdag 27 maart 2010 @ 00:35
lol. Dat was wel heel simpel achteraf. Thanks OEM.
Fortitudemaandag 29 maart 2010 @ 13:52
http://devdays.nl/

Gaat iemand hier nog naartoe? Ik wel.
Fortitudemaandag 29 maart 2010 @ 15:27
's avonds heb je trouwens wat meer hobby gerichte presentaties. Die avond heet Geek Night en kost 25 euro excl. btw. Deze gast komt bv:

http://tweakers.net/adver(...)nutty-professor.html
OEMdonderdag 1 april 2010 @ 23:34
quote:
Op maandag 29 maart 2010 13:52 schreef Fortitude het volgende:
http://devdays.nl/

Gaat iemand hier nog naartoe? Ik wel.
En? Hadden ze nog iets zinvols te melden? Of was het gewoon de standaard social gathering van de .net nerds?

(zoals je begrijpt, ik ga er niet graag heen )
Fortitudedonderdag 1 april 2010 @ 23:54
quote:
Op donderdag 1 april 2010 23:34 schreef OEM het volgende:

[..]

En? Hadden ze nog iets zinvols te melden? Of was het gewoon de standaard social gathering van de .net nerds?

(zoals je begrijpt, ik ga er niet graag heen )
Het was geen social gathering. Het was 2 dagen lang presentaties, 8 tegelijk dus je moest kiezen. En niet de minste mensen, veel bekende namen uit de software wereld. In de grote zalen (waar ook de bekendste mensen stonden) werd er gefilmd. Dus die verschijnen wel op het internet. Blijkbaar zijn ze daar traag in dus dat zal wel even duren.

Maar het was niet het soort evenement waar nieuwe dingen aangekondigd werden. Dat is allemaal al bekend. Gewoon veel presentaties over alles wat nieuw / modern is rond Microsoft Software Development. Jezelf vervelen is in ieder geval niet nodig de komende jaren.

Lijst met onderwerpen staat hier:
http://devdays.nl/Agenda.aspx?pid=66&lang=nl
Ryogawoensdag 7 april 2010 @ 14:01
Even een vraagje, misschien dat jullie dit makkelijk kunnen beantwoorden. Voor mijn werk heb ik jarenlang in asp.net geprogrammeerd, zowel vb.net als c#, vanaf 1.1 t/m 3.5. Ik sta nu aan de start van een nieuw project en ik wil er een windows applicatie van maken, in principe de eerste grote die ik ga bouwen.

Kan ik nou beter voor een Windows Form Application gaan, of voor WPF? Alle werkstations hier hebben in principe XP met SP3, en mijn programma gaat straks gegevens uit een SQL database over een stuk of 100 gebruikers delen. Ik heb nu een maandje ervaring met Forms en ik krijg het gevoel dat ik qua databinding en presentatie ervan een beetje gelimiteerd ben, maar dat kan aan mij liggen. Met WPF heb ik toch wel een dag ervaring
Fortitudewoensdag 7 april 2010 @ 14:04
quote:
Op woensdag 7 april 2010 14:01 schreef Ryoga het volgende:
Even een vraagje, misschien dat jullie dit makkelijk kunnen beantwoorden. Voor mijn werk heb ik jarenlang in asp.net geprogrammeerd, zowel vb.net als c#, vanaf 1.1 t/m 3.5. Ik sta nu aan de start van een nieuw project en ik wil er een windows applicatie van maken, in principe de eerste grote die ik ga bouwen.

Kan ik nou beter voor een Windows Form Application gaan, of voor WPF? Alle werkstations hier hebben in principe XP met SP3, en mijn programma gaat straks gegevens uit een SQL database over een stuk of 100 gebruikers delen. Ik heb nu een maandje ervaring met Forms en ik krijg het gevoel dat ik qua databinding en presentatie ervan een beetje gelimiteerd ben, maar dat kan aan mij liggen. Met WPF heb ik toch wel een dag ervaring
Geen ervaring met WPF, maar ik weet wel dat je Aero nodig hebt wil je het volledig kunnen benutten. Hoezo vind je de presentatie van WinForms gelimiteerd? Mij geeft het altijd wel een vertrouwd gevoel.
Ryogawoensdag 7 april 2010 @ 14:23
Ja oke, maar ook al zou ik Aero hebben, dan heb ik het voorlopig nog niet nodig. Mijn programma hoeft er niet mooi uit te zien.

Dat ik het gelimiteerd vind komt vooral door mijn gebrek aan ervaring. Ik ben vanuit asp.net gewend dat ik duizend controls heb die ik met datasources automatisch kan databinden, maar nu moet ik weer met datasets en currencymanagers aan de slag en dat heb ik al eventjes niet gedaan, dus vandaar. Niet dat ik verwacht dat dat in WPF beter zou gaan, maar ik ging er een beetje van uit omdat WPF 'nieuwer' is dan Forms.

Ik ga eerst even met een solution aan de slag met zowel een WPF als een Form project, en dan kijken hoe ver ik kom.
OEMdonderdag 8 april 2010 @ 23:31
quote:
Op woensdag 7 april 2010 14:23 schreef Ryoga het volgende:
Ja oke, maar ook al zou ik Aero hebben, dan heb ik het voorlopig nog niet nodig. Mijn programma hoeft er niet mooi uit te zien.

Dat ik het gelimiteerd vind komt vooral door mijn gebrek aan ervaring. Ik ben vanuit asp.net gewend dat ik duizend controls heb die ik met datasources automatisch kan databinden, maar nu moet ik weer met datasets en currencymanagers aan de slag en dat heb ik al eventjes niet gedaan, dus vandaar. Niet dat ik verwacht dat dat in WPF beter zou gaan, maar ik ging er een beetje van uit omdat WPF 'nieuwer' is dan Forms.

Ik ga eerst even met een solution aan de slag met zowel een WPF als een Form project, en dan kijken hoe ver ik kom.
Waarom zou je weer met die vervloekte datasets aan de slag moeten? WinForms controls kun je ook overal aan binden (zoalng ze maar de goede interface implementeren). Dat hoeven niet per se DataSets te zijn.

Heb zelf geen ervaring met WPF, maar collega's zweren bij WPF vergeleken met WinForms. Maar als je een gecontroleerde omgeving hebt (en die heb je blijkbaar) dan is WinForms ook geen probleem.

Tip 1: gewoon weer een website van maken
Tip 2: vraag aan de business wat ze willen
OEMdonderdag 8 april 2010 @ 23:32
dubbel
Core2vrijdag 9 april 2010 @ 14:29
WPF met MVVM is voor een grote app misschien wel een optie voor je?
Fortitudemaandag 12 april 2010 @ 15:54
En paar van de grote devdays presentaties staan inmiddels online:

http://channel9.msdn.com/tags/DevDays-2010-NL/

Ik heb van deze alleen "What's new in Silverlight 4 Part 1 by Mike Taulty" gezien, die was wel ok.
Blinkerzondag 18 april 2010 @ 23:41
Ik moet ook met C# aan de gang.
Even de linkjes hier en daar bekijken
progjemaandag 19 april 2010 @ 11:13
Visual Studio 2010 bevalt me tot nu toe trouwens goed!
Fortitudedinsdag 20 april 2010 @ 13:28
quote:
Op maandag 19 april 2010 11:13 schreef progje het volgende:
Visual Studio 2010 bevalt me tot nu toe trouwens goed!
Ik wou hem pas installeren, tot ik er achter kwam dat Crystal Reports er niet meer inzit. En dat SAP het pas later uitbrengt voor 2010. Inmiddels is de beta er wel zie ik.
Crutchmaandag 26 april 2010 @ 11:44
Goedendag!

Weet iemand een goede site / boek om DirectX i.c.m. C# .net te leren?
Fortitudemaandag 26 april 2010 @ 11:48
quote:
Op maandag 26 april 2010 11:44 schreef Crutch het volgende:
Goedendag!

Weet iemand een goede site / boek om DirectX i.c.m. C# .net te leren?
Ik zou niet weten, maar ik vraag mij wel af waarom je dit wilt weten. Als je iets met games wil dan is XNA misschien ook een kijkje waard.

http://www.xna.com/
Crutchmaandag 26 april 2010 @ 11:51
quote:
Op maandag 26 april 2010 11:48 schreef Fortitude het volgende:

[..]

Ik zou niet weten, maar ik vraag mij wel af waarom je dit wilt weten. Als je iets met games wil dan is XNA misschien ook een kijkje waard.

http://www.xna.com/
Nee om een leuke 3D interface te koppelen aan een VSTi-plugin.
Crutchmaandag 26 april 2010 @ 12:07
Kekke site trouwens Fortitude.
Intrepiditymaandag 26 april 2010 @ 12:22
Kent iemand een goed artikel of een tutorial over contravariantie in interfaces en delegates in C# 4.0? Ik snap er nog niet ontzettend veel van.. Het concept ontgaat me een beetje..
Gestiechmaandag 26 april 2010 @ 12:48
Ik vind uberhaupt delegates nog steeds raar en onlogisch. Maar ik ben te lui om me erover in te lezen
HenryHillmaandag 26 april 2010 @ 19:32
quote:
Op maandag 26 april 2010 12:22 schreef Intrepidity het volgende:
Kent iemand een goed artikel of een tutorial over contravariantie in interfaces en delegates in C# 4.0? Ik snap er nog niet ontzettend veel van.. Het concept ontgaat me een beetje..
MSDN Magazine - Generic Co- and Contravariance in Visual Basic 2010. Uitgelegd aan de hand van Visual Basic, maar prima te volgen voor een C# programmeur.
quote:
Op maandag 26 april 2010 12:48 schreef Gestiech het volgende:
Ik vind uberhaupt delegates nog steeds raar en onlogisch. Maar ik ben te lui om me erover in te lezen
Delegates worden wel eens vergeleken met function pointers uit C, en tot op zekere hoogte zou je ze ook kunnen zien als een interface, maar dan niet op class-niveau maar op methode-niveau: Een delegate omschrijft precies van welke types de input parameters en result-waarde van een methode zijn, meer niet. Als je een variabele van een bepaald type delegate declareert, dan kun je daar een verwijzing instoppen naar elke methode die dezelfde signature heeft. Vervolgens kun je zo'n methode dan uitvoeren via de delegate.
Fortitudedonderdag 29 april 2010 @ 18:11
quote:
Op maandag 12 april 2010 15:54 schreef Fortitude het volgende:
En paar van de grote devdays presentaties staan inmiddels online:

http://channel9.msdn.com/tags/DevDays-2010-NL/

Ik heb van deze alleen "What's new in Silverlight 4 Part 1 by Mike Taulty" gezien, die was wel ok.
Even mezelf quoten, de meeste grote staan nu online. Why Rest vond ik wel aardig. Introduction to MVC zit ik atm te kijken, ook wel handig om een keer gezien te hebben.
Crutchmaandag 3 mei 2010 @ 18:30
Ik kom net langs een geniale site om C# te leren.
3DBuzz

Heb de afgelopen dagen de hele reeks gekeken van wat zij een HelloWorld-application noemen.
Geniaal uitgelegd en ondersteund met Photoshop als whiteboard.
Ze leren je dus even een Textbased game te maken.

Je moet je wel even registreren.
Fortitudemaandag 3 mei 2010 @ 21:57
quote:
Op maandag 3 mei 2010 18:30 schreef Crutch het volgende:
Ik kom net langs een geniale site om C# te leren.
3DBuzz

Heb de afgelopen dagen de hele reeks gekeken van wat zij een HelloWorld-application noemen.
Geniaal uitgelegd en ondersteund met Photoshop als whiteboard.
Ze leren je dus even een Textbased game te maken.

Je moet je wel even registreren.
Ga je nou XNA gebruiken voor die 3D interface die je wou maken?
Crutchdinsdag 4 mei 2010 @ 12:18
quote:
Op maandag 3 mei 2010 21:57 schreef Fortitude het volgende:

[..]

Ga je nou XNA gebruiken voor die 3D interface die je wou maken?
Haha, nee.
Voor wat ik wil is een echte 3D-interface eigenlijk wat omslachtig bedacht ik me.
Ik kan het ook doen met afbeelding die al zijn gerenderd.
Fortitudedinsdag 4 mei 2010 @ 12:21
quote:
Op dinsdag 4 mei 2010 12:18 schreef Crutch het volgende:

[..]

Haha, nee.
Voor wat ik wil is een echte 3D-interface eigenlijk wat omslachtig bedacht ik me.
Ik kan het ook doen met afbeelding die al zijn gerenderd.
Ik vind dat sowieso zwaar overkill. Zelfs in mediaspelers zoals de popcornhour gebruiken ze gewoon een HTLM interface. Dat kan er best strak uitzien.
Crutchdinsdag 4 mei 2010 @ 12:32
quote:
Op dinsdag 4 mei 2010 12:21 schreef Fortitude het volgende:

[..]

Ik vind dat sowieso zwaar overkill. Zelfs in mediaspelers zoals de popcornhour gebruiken ze gewoon een HTLM interface. Dat kan er best strak uitzien.
Simpel is ook goed, maar ik wil graag wat uitdaging (echt 3D is nu wat té ingewikkeld voor me).
Maar ik wil wel mijn handen vuil maken aan een eigengemaakt grafisch manipuleerbaar component zoals bijvoorbeeld een slider of draaiwieltje.
Fortitudemaandag 10 mei 2010 @ 00:41
Wat voor versiebeheer programma gebruiken jullie. Op mijn werk gebruiken we Sourcesafe. Voor hier thuis zit ik te twijfelen tussen Sourcesafe en Subversion. Ik programmeer alleen maar in Visual Studio.
Wijnbomaandag 10 mei 2010 @ 09:05
quote:
Op maandag 10 mei 2010 00:41 schreef Fortitude het volgende:
Wat voor versiebeheer programma gebruiken jullie. Op mijn werk gebruiken we Sourcesafe. Voor hier thuis zit ik te twijfelen tussen Sourcesafe en Subversion. Ik programmeer alleen maar in Visual Studio.
Wat gebruiken jullie om te masturberen. Op mijn werk gebruiken we een kaasschaaf. Voor hier thuis zit ik te twijfelen tussen een kaasschaaf of gewoon een lekkere, zachte hand. Ik programmeer alleen maar in Visual Studio.
Wijnbomaandag 10 mei 2010 @ 09:08
http://www.codinghorror.c(...)-but-sourcesafe.html

http://www.highprogrammer.com/alan/windev/sourcesafe.html

En alsjeblieft, probeer op je werk ook te migreren naar SVN / CVS of andere gerenommeerde systemen.

Daar heb je niet alleen volgende week, maar ook over 5 jaar nog lol van.
Fortitudemaandag 10 mei 2010 @ 10:05
quote:
Op maandag 10 mei 2010 09:08 schreef Wijnbo het volgende:
http://www.codinghorror.c(...)-but-sourcesafe.html

http://www.highprogrammer.com/alan/windev/sourcesafe.html

En alsjeblieft, probeer op je werk ook te migreren naar SVN / CVS of andere gerenommeerde systemen.

Daar heb je niet alleen volgende week, maar ook over 5 jaar nog lol van.
Dat weten wij wel. Tot nu toe is Sourcesafe wel goed genoeg. We maken wel de stap naar TFS. Maar dit ging meer over simpel thuisgebruik. Het enige wat ik daarvoor nodig heb is makkelijk code backupen, en dat ik files kan rollbacken.
Wijnbomaandag 10 mei 2010 @ 11:19
quote:
Op maandag 10 mei 2010 10:05 schreef Fortitude het volgende:

[..]

Dat weten wij wel. Tot nu toe is Sourcesafe wel goed genoeg. We maken wel de stap naar TFS. Maar dit ging meer over simpel thuisgebruik. Het enige wat ik daarvoor nodig heb is makkelijk code backupen, en dat ik files kan rollbacken.
Gelukkig.

Voor thuisgebruik zou ik gewoon SVN nemen, gratis, gemakkelijk, en een gratis plug-in voor visual studio :-)
Intrepiditymaandag 10 mei 2010 @ 11:41
quote:
Op maandag 10 mei 2010 11:19 schreef Wijnbo het volgende:

[..]

Gelukkig.

Voor thuisgebruik zou ik gewoon SVN nemen, gratis, gemakkelijk, en een gratis plug-in voor visual studio :-)
Dat. Of Git, ook erg prettig, en heeft ook een VS plugin
progjemaandag 10 mei 2010 @ 11:47
quote:
Op maandag 10 mei 2010 11:19 schreef Wijnbo het volgende:

[..]

Gelukkig.

Voor thuisgebruik zou ik gewoon SVN nemen, gratis, gemakkelijk, en een gratis plug-in voor visual studio :-)
SVN is inderdaad geniaal handig
OEMdinsdag 11 mei 2010 @ 19:49
quote:
Op maandag 10 mei 2010 11:47 schreef progje het volgende:

[..]

SVN is inderdaad geniaal handig
Als je TFS gewend bent dan is SVN ook een amateuristische bende (no offense). TFS is bijna monkey-proof, je kan naar hartelust met directories klooien (hernoemen/verplaatsen etc) zonder dat de boel in het honderd loopt. Ik heb in 10 minuten een SVN project op zo'n manier om zeep geholpen.

Andere ervaringen
- SourceSafe staat niet echt goed bekend in de echte wereld
- ClearCase is kansloos vervelend

Voor thuis zou ik gewoon sourcesafe gebruiken (als je die legaal thuis mag draaien). By far de beste VS integratie vergeleken met de niet-VS specifieke alternatieven.

Ik heb m'n thuisprojectjes (niet-commercieel) op de TFS server van m'n werk staan. Reuze handig.
Fortitudedonderdag 13 mei 2010 @ 16:28
quote:
Op dinsdag 11 mei 2010 19:49 schreef OEM het volgende:

[..]

Als je TFS gewend bent dan is SVN ook een amateuristische bende (no offense). TFS is bijna monkey-proof, je kan naar hartelust met directories klooien (hernoemen/verplaatsen etc) zonder dat de boel in het honderd loopt. Ik heb in 10 minuten een SVN project op zo'n manier om zeep geholpen.

Andere ervaringen
- SourceSafe staat niet echt goed bekend in de echte wereld
- ClearCase is kansloos vervelend

Voor thuis zou ik gewoon sourcesafe gebruiken (als je die legaal thuis mag draaien). By far de beste VS integratie vergeleken met de niet-VS specifieke alternatieven.

Ik heb m'n thuisprojectjes (niet-commercieel) op de TFS server van m'n werk staan. Reuze handig.
TFS is sowieso het serieuze werk. Ook qua testen enzo. Maar daar zit weer een enorme learning curve aan vast. En je moet ervoor een flinke server hebben staan.

Ik draai nu overigens SVN op mijn linux bak thuis.
raptorixmaandag 17 mei 2010 @ 16:58
quote:
Op dinsdag 11 mei 2010 19:49 schreef OEM het volgende:

[..]

Als je TFS gewend bent dan is SVN ook een amateuristische bende (no offense). TFS is bijna monkey-proof, je kan naar hartelust met directories klooien (hernoemen/verplaatsen etc) zonder dat de boel in het honderd loopt. Ik heb in 10 minuten een SVN project op zo'n manier om zeep geholpen.
Dit moet ik ontkrachten, wij zijn in veel gevallen van TFS weer teruggegaan van SVN.
SVN in combinatie met TeamCity is behoorlijk krachtig.
OEMdinsdag 18 mei 2010 @ 23:29
quote:
Op maandag 17 mei 2010 16:58 schreef raptorix het volgende:

[..]

Dit moet ik ontkrachten, wij zijn in veel gevallen van TFS weer teruggegaan van SVN.
SVN in combinatie met TeamCity is behoorlijk krachtig.
Wat was de reden om terug te gaan? Of iets generieker, wat waren de overwegingen voor TFS cq SVN?
Ker_Plunkwoensdag 19 mei 2010 @ 00:05
Hallo!
Hier een redelijke beginner
Gebruik VWD 08 en VB.NET… Begin eindelijk een beetje structuur in de scripttaal te zien Kom van de front-end dev kant af dus het is wel even wennen

Vooral om de hoeveelheid 'fouten' je tegenkomt in je werk. Ik develop locaal in VWD. Leuk als alles werkt, maar eenmaal geupload naar onze dedicated server kom je weer kwesties tegen zoals dat de applicatie niet naar zijn eigen sql db mag in de App_Data
Dan maar MySql… Ook dat weer uitzoeken vanwege de connectiestrings. Je blijft bezig

Maar ik kom er wel! Af en toe hier vragen lijkt me geen probleem
Ker_Plunkwoensdag 19 mei 2010 @ 00:13
quote:
Op zaterdag 20 maart 2010 23:37 schreef Fortitude het volgende:

[..]

Waarom VB…
Wat is er zo slecht aan VB? Schijnt een iets makkelijkere taal als C# te zijn en eenmaal dat onder de knie lijkt me overschakelen naar C# geen grote kwestie

Ben met VB begonnen omdat het boek waaruit ik leerde alleen in vb stond… Later ASP.NET Unleashed gekocht via werk… dikke 1800 pagina's maar weer in C# (wel vb op cd)
OEMwoensdag 19 mei 2010 @ 00:21
quote:
Op woensdag 19 mei 2010 00:13 schreef Ker_Plunk het volgende:

[..]

Wat is er zo slecht aan VB? Schijnt een iets makkelijkere taal als C# te zijn en eenmaal dat onder de knie lijkt me overschakelen naar C# geen grote kwestie

Ben met VB begonnen omdat het boek waaruit ik leerde alleen in vb stond… Later ASP.NET Unleashed gekocht via werk… dikke 1800 pagina's maar weer in C# (wel vb op cd)
Op zich is er niks mis met VB.NET, maar er zitten veel overblijfselen uit VB6 in, en het is gewoon een lelijke taal (als je VB code ziet dan lijkt het wel alsof je een boek aan lezen bent ipv programma-code).
OEMwoensdag 19 mei 2010 @ 00:21
dubbel
Ker_Plunkwoensdag 19 mei 2010 @ 00:23
quote:
Op woensdag 19 mei 2010 00:21 schreef OEM het volgende:

[..]

Op zich is er niks mis met VB.NET, maar er zitten veel overblijfselen in uit VB6 in, en het is gewoon een lelijke taal (als je VB code ziet dan lijkt het wel alsof je een boek aan lezen bent ipv programma-code).
Ik zie wel eens dezelfde scripts in de twee talen… Zie hele grote vergelijkenis, meer andere benamingen enzo… Zal het zelf wel zien Als ik VB ken wil ik ook overschakelen
OEMwoensdag 19 mei 2010 @ 00:32
quote:
Op woensdag 19 mei 2010 00:23 schreef Ker_Plunk het volgende:

[..]

Ik zie wel eens dezelfde scripts in de twee talen… Zie hele grote vergelijkenis, meer andere benamingen enzo… Zal het zelf wel zien Als ik VB ken wil ik ook overschakelen
Het compleet uitschrijven van taalconstructies in VB maakt alles vervelend leesbaar:

Inherits ipv :
AndAlso/OrElse ipv && / ||
begin/end ipv {}
dim ipv niks
etc.

Het meest trieste keyword van VB.NET vind ik "Shared" versus "static" in elke normale taal. Ik bedoel, kom op zeg, een gedeelde methode.

Zo snel mogelijk naar c# overschakelen. Daar hoef je VB echt niet voor te kennen.
Ker_Plunkwoensdag 19 mei 2010 @ 00:48
quote:
Op woensdag 19 mei 2010 00:32 schreef OEM het volgende:

[..]

Het compleet uitschrijven van taalconstructies in VB maakt alles vervelend leesbaar:

Inherits ipv :
AndAlso/OrElse ipv && / ||
begin/end ipv {}
dim ipv niks
etc.

Het meest trieste keyword van VB.NET vind ik "Shared" versus "static" in elke normale taal. Ik bedoel, kom op zeg, een gedeelde methode.

Zo snel mogelijk naar c# overschakelen. Daar hoef je VB echt niet voor te kennen.
Ok

Dat laatste over shared begrijp ik trouwens niet
raptorixwoensdag 19 mei 2010 @ 10:28
quote:
Op dinsdag 18 mei 2010 23:29 schreef OEM het volgende:

[..]

Wat was de reden om terug te gaan? Of iets generieker, wat waren de overwegingen voor TFS cq SVN?
TFS gaf met name nogal wat problemen bij het maken van nieuwe Trunks, de database ging dan soms om vage reden compleet over de zeik, daarnaast hadden we ook vaak problemen met mergen van files. Ook de grotere kennis van SVN binnen de organisatie was een overweging.

Overigens zijn we nu voor bepaalde projecten wel weer terug naar TFS, de nieuwe versie is stabieler geworden. Echter SVN voldoet in veel gevallen prima.
raptorixwoensdag 19 mei 2010 @ 10:31
quote:
Op woensdag 19 mei 2010 00:48 schreef Ker_Plunk het volgende:

[..]

Ok

Dat laatste over shared begrijp ik trouwens niet
Daarnaast zie je dat C# toch als .NET taal op het web een veel grotere standaard is, het is dus ook veel makkelijker om hulp, voorbeelden te vinden voor C# als voor VB, en heel veel moeilijker is het niet hoor...

Een prima gratis C# boek is deze: http://www.robmiles.com/c-yellow-book/
raptorixwoensdag 19 mei 2010 @ 10:31
Misschien handig om die ook in de openingspost te plaatsen
raptorixwoensdag 19 mei 2010 @ 10:32
quote:
Op maandag 10 mei 2010 10:05 schreef Fortitude het volgende:

[..]

Dat weten wij wel. Tot nu toe is Sourcesafe wel goed genoeg. We maken wel de stap naar TFS. Maar dit ging meer over simpel thuisgebruik. Het enige wat ik daarvoor nodig heb is makkelijk code backupen, en dat ik files kan rollbacken.
Je weet dat een rollback ook een echte rollback is he
Fortitudewoensdag 19 mei 2010 @ 11:39
quote:
Op woensdag 19 mei 2010 10:31 schreef raptorix het volgende:

[..]

Daarnaast zie je dat C# toch als .NET taal op het web een veel grotere standaard is, het is dus ook veel makkelijker om hulp, voorbeelden te vinden voor C# als voor VB, en heel veel moeilijker is het niet hoor...
Pas op DevDays bleek dat maar weer. Tijdens 1 van de presentaties was er even snel een check met wat voor mensen er in de zaal zaten.

"Who conciders himself primarily a VB.NET programmer?": 2 handen omhoog.
"Who conciders himself primarily a C#.NET programmer?": 3/4 van de zaal hand omhoog.

quote:
Op woensdag 19 mei 2010 10:32 schreef raptorix het volgende:

[..]

Je weet dat een rollback ook een echte rollback is he
Ja, maar dat wil ik dus ook. Rollbacken naar de laatste goeie versie.
Fortitudewoensdag 19 mei 2010 @ 11:40
Kut ik kan de OP niet meer aanpassen.
Crutchwoensdag 19 mei 2010 @ 11:55
quote:
Op woensdag 19 mei 2010 11:40 schreef Fortitude het volgende:
Kut ik kan de OP niet meer aanpassen.
TR
raptorixwoensdag 19 mei 2010 @ 12:33
quote:
Op woensdag 19 mei 2010 11:39 schreef Fortitude het volgende:
Ja, maar dat wil ik dus ook. Rollbacken naar de laatste goeie versie.
En als je beseft dat dat toch niet goed was, dan ben je dus de sjaak, want een Roll forward kan niet
c0nd0rdonderdag 20 mei 2010 @ 13:51
Misschien heeft iemand hier een idee!

Ik ben op zoek naar een control of in ieder geval de manier waarop ik ala Chrome/Opera de tabs in de non client area kan tekenen, kan het niet echt vinden op internet en ben zelf niet zo heel bedreven met custom user controls e.d. dus misschien iemand toevallig een keer zoiets tegengekomen?
Catbertdonderdag 20 mei 2010 @ 13:56
quote:
Op woensdag 19 mei 2010 11:39 schreef Fortitude het volgende:
Pas op DevDays bleek dat maar weer. Tijdens 1 van de presentaties was er even snel een check met wat voor mensen er in de zaal zaten.

"Who conciders himself primarily a VB.NET programmer?": 2 handen omhoog.
"Who conciders himself primarily a C#.NET programmer?": 3/4 van de zaal hand omhoog.
Denk dat een hoop mensen het ook niet durven toegeven, waarschijnlijk die 1/4e minus 2 personen zie z'n hand niet op stak
Intrepiditydonderdag 20 mei 2010 @ 14:17
Het wordt hoog tijd dat LOLCODE.net een officiele specificatie wordt.
Fortitudedonderdag 20 mei 2010 @ 14:17
quote:
Op donderdag 20 mei 2010 14:17 schreef Intrepidity het volgende:
Het wordt hoog tijd dat LOLCODE.net een officiele specificatie wordt.
Dacht ik gisteren ook al aan.
Fortitudemaandag 24 mei 2010 @ 01:48
Dit zal wel redelijk simpel zijn, maar ik kan het niet vinden.

Ben bezig met ASP.NET. Ik probeer een record te updaten met een DetailsView. Naast 2 velden die aangepast kunnen worden is er nog een 3e DateTime property. Deze moet hetzelfde blijven.

1
2
3
4
protected void DetailsView_ItemUpdating(object sender, System.Web.UI.WebControls.DetailsViewUpdateEventArgs e)
{
    e.NewValues["PostDate"] = e.OldValues["PostDate"];
}


Nu wou ik de waarde gewoon zo overnemen. Probleem is dat de property niet bestaat in de OldValues. Alleen maar de 2 velden die daadwerkelijk op de DetailsView staan worden gevuld.

Hoe kan ik er voor zorgen dat ik de waarde toch krijg?
Fortitudemaandag 24 mei 2010 @ 13:09
Ik heb nu maar een readonly field neergeknikkerd. Werkt wel maar ben er niet tevreden mee. Hidden field werkt ook niet.
raptorixdinsdag 25 mei 2010 @ 13:57
quote:
Op maandag 24 mei 2010 01:48 schreef Fortitude het volgende:
Dit zal wel redelijk simpel zijn, maar ik kan het niet vinden.

Ben bezig met ASP.NET. Ik probeer een record te updaten met een DetailsView. Naast 2 velden die aangepast kunnen worden is er nog een 3e DateTime property. Deze moet hetzelfde blijven.
[ code verwijderd ]

Nu wou ik de waarde gewoon zo overnemen. Probleem is dat de property niet bestaat in de OldValues. Alleen maar de 2 velden die daadwerkelijk op de DetailsView staan worden gevuld.

Hoe kan ik er voor zorgen dat ik de waarde toch krijg?
Waarom zo moeilijk? Een veld dat niet geupdate word, word niet geupdate lijkt me, daar hoef je niet de oude value in te vullen. Overigens zou ik je adviseren eens naar LinQ te kijken, erg makkelijk voor databases.
Fortitudedinsdag 25 mei 2010 @ 14:21
quote:
Op dinsdag 25 mei 2010 13:57 schreef raptorix het volgende:

[..]

Waarom zo moeilijk? Een veld dat niet geupdate word, word niet geupdate lijkt me, daar hoef je niet de oude value in te vullen. Overigens zou ik je adviseren eens naar LinQ te kijken, erg makkelijk voor databases.
Omdat ik NHibernate gebruik. En LINQ ook.
Fortitudedinsdag 25 mei 2010 @ 16:34
quote:
Op dinsdag 25 mei 2010 14:21 schreef Fortitude het volgende:

[..]

Omdat ik NHibernate gebruik. En LINQ ook.
Wat overigens een steeds slechter idee blijkt te zijn.
mscholdinsdag 25 mei 2010 @ 18:16
quote:
Op woensdag 19 mei 2010 00:32 schreef OEM het volgende:

[..]

Het compleet uitschrijven van taalconstructies in VB maakt alles vervelend leesbaar:

Inherits ipv :
AndAlso/OrElse ipv && / ||
begin/end ipv {}
dim ipv niks
etc.

Het meest trieste keyword van VB.NET vind ik "Shared" versus "static" in elke normale taal. Ik bedoel, kom op zeg, een gedeelde methode.

Zo snel mogelijk naar c# overschakelen. Daar hoef je VB echt niet voor te kennen.
t.b.h:

ik lees liever een "boek" dan een stel wazige tekens die vaak maar heel vaag ergens aan de bedoelde betekenis vast te knopen zijn..
mscholdinsdag 25 mei 2010 @ 18:18
quote:
Op woensdag 19 mei 2010 10:31 schreef raptorix het volgende:

[..]

Daarnaast zie je dat C# toch als .NET taal op het web een veel grotere standaard is, het is dus ook veel makkelijker om hulp, voorbeelden te vinden voor C# als voor VB, en heel veel moeilijker is het niet hoor...

Een prima gratis C# boek is deze: http://www.robmiles.com/c-yellow-book/
mijn (beetje) ervaring leert me toch andersom: veel code samples zijn alleen in VB terug te vinden en niet in C# of C++
Fortitudedinsdag 25 mei 2010 @ 18:19
quote:
Op dinsdag 25 mei 2010 18:18 schreef mschol het volgende:

[..]

mijn (beetje) ervaring leert me toch andersom: veel code samples zijn alleen in VB terug te vinden en niet in C# of C++
Nou nee, op internet is verweg het meeste C#. Zeker de laatste tijd.
mscholdinsdag 25 mei 2010 @ 18:21
quote:
Op dinsdag 25 mei 2010 18:19 schreef Fortitude het volgende:

[..]

Nou nee, op internet is verweg het meeste C#. Zeker de laatste tijd.
ik google iets met C sharp .net en/of C#.net in de string en ik vond niet of veel minder snel (pagina 2 ofzo in google) wat ik wilde hebben
doe ik dat met VB.net zat het altijd in de eerste reeks resultaten...

ook de sample codes van microsoft lijken meer vb.net als c#.net te hebben
raptorixdinsdag 25 mei 2010 @ 18:44
quote:
Op dinsdag 25 mei 2010 18:21 schreef mschol het volgende:

[..]

ik google iets met C sharp .net en/of C#.net in de string en ik vond niet of veel minder snel (pagina 2 ofzo in google) wat ik wilde hebben
doe ik dat met VB.net zat het altijd in de eerste reeks resultaten...

ook de sample codes van microsoft lijken meer vb.net als c#.net te hebben
Als ik bijvoorbeeld zoek op LINQ en C# dan krijg ik 15 keer zoveel resultaten als met LINQ en VB.NET ....
mscholdinsdag 25 mei 2010 @ 18:47
quote:
Op dinsdag 25 mei 2010 18:44 schreef raptorix het volgende:

[..]

Als ik bijvoorbeeld zoek op LINQ en C# dan krijg ik 15 keer zoveel resultaten als met LINQ en VB.NET ....
meer betekent niet beter
Intrepiditydinsdag 25 mei 2010 @ 18:49
quote:
Op dinsdag 25 mei 2010 18:16 schreef mschol het volgende:

[..]

t.b.h:

ik lees liever een "boek" dan een stel wazige tekens die vaak maar heel vaag ergens aan de bedoelde betekenis vast te knopen zijn..
Het gaat niet om het lezen, het gaat om het schrijven. En hoe eenvoudig het leest is slechts een kwestie van ervaring denk ik. Ik word persoonlijk gestoord van de syntax van VB.net. Een } of { valt op, omdat het geen tekst is.. een woord als End zou net zo goed een variabele kunnen zijn in een oogopslag. En ja het is 2010 en we hebben prachtige syntax highlighting, maar toch. Leestekens gebruiken voor syntax vind ik logischer als een compleet woord.
Ker_Plunkwoensdag 2 juni 2010 @ 19:22
Ik maak regelmatig op mijn werk formulieren waaruit emails verstuurd worden met de ingevulde informatie.
Het emailtje laat ik opbouwen vanuit de code-behind. Voor kleine mailtjes niet zo probleem maar met emails met veel html code wordt het een stuk onoverzichtelijker vanwege de dubbele aanhalingstekens die erin moeten en er mag ook niet worden afgebroken mits goed afgesloten met " & _ .

Ik wil nu een email html bestand die wordt 'ingeladen' en waarin de waardes worden gezet. Hoe doe ik dit?
OEMwoensdag 2 juni 2010 @ 20:02
quote:
Op woensdag 2 juni 2010 19:22 schreef Ker_Plunk het volgende:
Ik maak regelmatig op mijn werk formulieren waaruit emails verstuurd worden met de ingevulde informatie.
Het emailtje laat ik opbouwen vanuit de code-behind. Voor kleine mailtjes niet zo probleem maar met emails met veel html code wordt het een stuk onoverzichtelijker vanwege de dubbele aanhalingstekens die erin moeten en er mag ook niet worden afgebroken mits goed afgesloten met " & _ .

Ik wil nu een email html bestand die wordt 'ingeladen' en waarin de waardes worden gezet. Hoe doe ik dit?
Ik doe altijd het meest simpele:
1. maak een html file met op de plekken waar wat gevuld moet worden "{parameternaam}"
2. lees file in
3. replace alle {xxx} met de juiste waarde

1
2
3
4
5
6
string text = File.ReadAllText("emailtemplate.html");
text = text.Replace("{naam}", "OEM");
text = text.Replace("{adres}", "Oemstraat 12");
text = text.Replace("{woonplaats}", Oemmerveen");

mailer.Send(from, to, text);


dat eindeloos replacen is ook niet de mooiste oplossing, maar dat maakt ook niet zoveel uit in dit soort gevallen.
Fortitudewoensdag 2 juni 2010 @ 20:29
quote:
Op woensdag 2 juni 2010 20:02 schreef OEM het volgende:

dat eindeloos replacen is ook niet de mooiste oplossing, maar dat maakt ook niet zoveel uit in dit soort gevallen.
Je kan het wel wat overzichtelijker maken door een Dictionary te vullen met die 2 waardes en daar dan doorheen loopen.
OEMwoensdag 2 juni 2010 @ 23:00
quote:
Op woensdag 2 juni 2010 20:29 schreef Fortitude het volgende:

[..]

Je kan het wel wat overzichtelijker maken door een Dictionary te vullen met die 2 waardes en daar dan doorheen loopen.
True.

Ik zit meer met het feit dat als de template heel erg groot is, dat je dan heel vaak aan het replacen bent in een hele grote haystack. Dan zou je het eigenlijk streamend moeten doen, maar dat schiet hier zwaar z'n doel voorbij.
raptorixdonderdag 3 juni 2010 @ 14:59
quote:
Op woensdag 2 juni 2010 19:22 schreef Ker_Plunk het volgende:
Ik maak regelmatig op mijn werk formulieren waaruit emails verstuurd worden met de ingevulde informatie.
Het emailtje laat ik opbouwen vanuit de code-behind. Voor kleine mailtjes niet zo probleem maar met emails met veel html code wordt het een stuk onoverzichtelijker vanwege de dubbele aanhalingstekens die erin moeten en er mag ook niet worden afgebroken mits goed afgesloten met " & _ .

Ik wil nu een email html bestand die wordt 'ingeladen' en waarin de waardes worden gezet. Hoe doe ik dit?
Wel eens aangedacht om hier een bestaande oplossing voor te gebruiken?
Ik doe iets soortgelijks op me werk, en gebruik daar Umbraco als CMS voor waar ook de Mensen met gegevens staan, werkt super handig.
Ker_Plunkdonderdag 3 juni 2010 @ 15:24
Ik begrijp nog niet volledig wat jullie bedoelen (ben nog een beginner). Bij vb.net maak ik een variabele aan van de waardes die binnen komen uit het formulieren en die plaats ik dan in de html code. Ga zo wel eerst even kijken of het inladen lukt
Ker_Plunkvrijdag 4 juni 2010 @ 15:55
Bij een site heb ik een menu waarin 2 classes bestaan, het menu zit in een masterpage.
'active' voor als de pagina actief is en 'off' als deze dat niet is.

Elke van de buttons is een asp:label (ter vervanging van een div) waaraan de class hangt.

Bij asp classic gebruikte ik een if then statement die de Pagename bekeek en dan een class aanriep. (slechts een regeltje code…)

Hoe ik dat doe in aspx? Het leek mij het beste om vanuit de asp:label een control event te starten en daar een if then te gebruiken. Ik weet alleen niet welke term ik verder moet gebruiken. Ik zie pagetitle/pagename niet verschijnen tijdens het typen (misschien een bepaalde namespace importeren?).
Fortitudevrijdag 4 juni 2010 @ 15:59
quote:
Op vrijdag 4 juni 2010 15:55 schreef Ker_Plunk het volgende:
Bij een site heb ik een menu waarin 2 classes bestaan, het menu zit in een masterpage.
'active' voor als de pagina actief is en 'off' als deze dat niet is.

Elke van de buttons is een asp:label (ter vervanging van een div) waaraan de class hangt.

Bij asp classic gebruikte ik een if then statement die de Pagename bekeek en dan een class aanriep. (slechts een regeltje code…)

Hoe ik dat doe in aspx? Het leek mij het beste om vanuit de asp:label een control event te starten en daar een if then te gebruiken. Ik weet alleen niet welke term ik verder moet gebruiken. Ik zie pagetitle/pagename niet verschijnen tijdens het typen (misschien een bepaalde namespace importeren?).
Wat je moet doen is een nieuw project maken en dan de "Web Application" template kiezen. Hetgeen wat je dan default krijg heeft precies wat jij nu probeert te maken.

Dit is in ieder geval wat zij als menu gebruiken:
quote:
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
<asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
</Items>
</asp:Menu>
Fortitudevrijdag 4 juni 2010 @ 16:01
Kut misschien toch niet. Ik dacht dat je het over pagina's had. Maar misschien kan je het toch gebruiken.
OEMvrijdag 4 juni 2010 @ 19:31
quote:
Op vrijdag 4 juni 2010 15:55 schreef Ker_Plunk het volgende:
Bij een site heb ik een menu waarin 2 classes bestaan, het menu zit in een masterpage.
'active' voor als de pagina actief is en 'off' als deze dat niet is.

Elke van de buttons is een asp:label (ter vervanging van een div) waaraan de class hangt.

Bij asp classic gebruikte ik een if then statement die de Pagename bekeek en dan een class aanriep. (slechts een regeltje code…)

Hoe ik dat doe in aspx? Het leek mij het beste om vanuit de asp:label een control event te starten en daar een if then te gebruiken. Ik weet alleen niet welke term ik verder moet gebruiken. Ik zie pagetitle/pagename niet verschijnen tijdens het typen (misschien een bepaalde namespace importeren?).
Geen idee wat je exact probeert te bereiken, maar misschien:

1
2
3
4
5
6
7
public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string pageName = Page.GetType().FullName;
    }
}


Zet anders ergens een breakpoint en kijk welke members Page allemaal heeft
Dokayvrijdag 4 juni 2010 @ 21:47
Ik moet nu voor mijn HBO opleiding een webapplicatie schrijven in ASP.NET. Ik baal hiervan omdat mijn voorkeur uitgaat naar PHP i.c.m. MySQL en ik hier ook veel ervaring mee heb. Nu probeer ik al enige tijd om C# te leren uit een Engelstalig boek. Ik heb geen problemen met Engels maar hier word ik echt niet wijzer van. Het kost me erg veel moeite om door de stof heen te worstelen, te werken met Visual Studio en te leren denken op de OO wijze.

Mijn vraag aan jullie: Hoe hebben jullie jezelf C# eigen gemaakt (of niet)? Tegen welke struikelblokken liep je aan?
Fortitudevrijdag 4 juni 2010 @ 22:20
quote:
Op vrijdag 4 juni 2010 21:47 schreef Dokay het volgende:

Mijn vraag aan jullie: Hoe hebben jullie jezelf C# eigen gemaakt (of niet)? Tegen welke struikelblokken liep je aan?
Makkelijkste manier is een boek pakken, daar zijn ze voor geschreven. Of tutorials maken. Overigens zou ik een ASP.NET pakken in plaats van een C# boek. Bij C# zou je snel winforms enzo krijgen en dat is toch behoorlijk anders.

Edit:
Hoezo baal je hier trouwens van? Lijkt mij wel aardig dat je tenminste even de basics van .NET ziet.

[ Bericht 9% gewijzigd door Fortitude op 04-06-2010 22:30:00 ]
raptorixzaterdag 5 juni 2010 @ 01:26
IK zou je adviseren om het MVC framework te downloaden en gebruik te maken van LINQ, en balen moet je niet MySQL en PHP is toch wel de Lada van de webtechnieken
Fortitudezaterdag 5 juni 2010 @ 01:29
quote:
Op zaterdag 5 juni 2010 01:26 schreef raptorix het volgende:
IK zou je adviseren om het MVC framework te downloaden en gebruik te maken van LINQ, en balen moet je niet MySQL en PHP is toch wel de Lada van de webtechnieken
MVC vind ik ook wel interessant. Ik wil meer de web kant op, maar ik zie eigenlijk alleen maar normale ASP.NET vacatures. Geen enkele vermelding over MVC. Te nieuw waarschijnlijk.
OEMzaterdag 5 juni 2010 @ 10:48
quote:
Op vrijdag 4 juni 2010 21:47 schreef Dokay het volgende:
Ik moet nu voor mijn HBO opleiding een webapplicatie schrijven in ASP.NET. Ik baal hiervan omdat mijn voorkeur uitgaat naar PHP i.c.m. MySQL en ik hier ook veel ervaring mee heb. Nu probeer ik al enige tijd om C# te leren uit een Engelstalig boek. Ik heb geen problemen met Engels maar hier word ik echt niet wijzer van. Het kost me erg veel moeite om door de stof heen te worstelen, te werken met Visual Studio en te leren denken op de OO wijze.

Mijn vraag aan jullie: Hoe hebben jullie jezelf C# eigen gemaakt (of niet)? Tegen welke struikelblokken liep je aan?
In dit artikel staat wel zo'n beetje opgesomd welke struikelblokken je tegen gaat komen. De titel van het artikel is misschien een beetje negatief (en terecht), maar inhoudelijk is het okee.

ASP.NET Sucks and It DOES Matter
Ker_Plunkzondag 6 juni 2010 @ 20:23
quote:
Op vrijdag 4 juni 2010 19:31 schreef OEM het volgende:

[..]

Geen idee wat je exact probeert te bereiken, maar misschien:
[ code verwijderd ]

Zet anders ergens een breakpoint en kijk welke members Page allemaal heeft
Het is eigenlijk heel simpel
Het menu dat in een masterpage zit bestaat uit 5 knoppen. Logischerwijs is het externe css bestand gekoppeld aan de masterpage. Deze knoppen ( asp:label ipv div ) hebben een css klasse genaamd ' off ' . Als je bijvoorbeeld op de pagina contact komt, moet de knop voor de pagina contact een andere css klasse laden, genaamd ' active '. Deze klasse is anders vormgegeven zodat je ziet dat je op de pagina contact bent. Dat is het

Ik had zelf het idee om van de asp:label een event handler te maken en dan iets van

1
2
3
4
If Page.Header.Title = "Contact of wat er ook staat…" Then
Call CssClass {.class = "active" }
Else
Call CssClass {.class = "off" }


Het stukje met de curly braces heb ik ergens van google vandaan, zie die curly braces eigenlijk nooit
Ben morgen pas om me werk dus kan het nu helaas niet checken

je voorbeeld is trouwens C# , site is in VB gebouwd

[ Bericht 12% gewijzigd door Ker_Plunk op 06-06-2010 20:52:29 ]
OEMmaandag 7 juni 2010 @ 00:26
quote:
Op zondag 6 juni 2010 20:23 schreef Ker_Plunk het volgende:

[..]

1. In de Page_Load van de masterpage kun je de pagina bepalen mbv Page.GetType
2. asp:Label heeft de property CssClass die je kan vullen in de Page_Load met een waarde adhv de pagina

dan zijn we er toch al?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lblButton1.CssClass = "off";
        lblButton2.CssClass = "off";

        string pageName = Page.GetType().FullName;

        if (pageName == "ASP.page1_aspx")
        {
            lblButton1.CssClass = "active";
        }
        else if (pageName == "ASP.page2_aspx")
        {
            lblButton2.CssClass = "active";
        }
    }
}

Als dit voor je werkt, dan kun je daarna deze functionaliteit evt wegstoppen in een eigen control (al dan niet gesubclasst van asp:Label). Ik zou geen losse eventhandlers gaan maken voor elk label.

PS: ik schrijf niet in de programmeertaal van Lucifer himself ;) ik neem aan dat c# lezen geen probleem is
Ker_Plunkmaandag 7 juni 2010 @ 13:05
quote:
Op maandag 7 juni 2010 00:26 schreef OEM het volgende:

[..]

1. In de Page_Load van de masterpage kun je de pagina bepalen mbv Page.GetType
2. asp:Label heeft de property CssClass die je kan vullen in de Page_Load met een waarde adhv de pagina

dan zijn we er toch al?
[ code verwijderd ]

Als dit voor je werkt, dan kun je daarna deze functionaliteit evt wegstoppen in een eigen control (al dan niet gesubclasst van asp:Label). Ik zou geen losse eventhandlers gaan maken voor elk label.

PS: ik schrijf niet in de programmeertaal van Lucifer himself ik neem aan dat c# lezen geen probleem is
Yup, dat werkt Wel even zitten rotzooien tot ik erachter kwam dat ik natuurlijk 'page1' moet vervangen

In Satan's code (ja ja… als ik tijd heb ga ik wisselen met C#…)

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
Imports System.Web.UI.MasterPage


Partial Class website
    Inherits System.Web.UI.MasterPage

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        pnl01.CssClass = "off"
        pnl02.CssClass = "off"
        pnl03.CssClass = "off"
        pnl04.CssClass = "off"
        pnl05.CssClass = "off"

        Dim pageName As String = Page.[GetType]().FullName

        If pageName = "ASP.index_aspx" Then
            pnl01.CssClass = "active"

        ElseIf pageName = "ASP.pag2_aspx" Then
            pnl02.CssClass = "active"

        ElseIf pageName = "ASP.pag3_aspx" Then
            pnl03.CssClass = "active"

        ElseIf pageName = "ASP.pag4_aspx" Then
            pnl04.CssClass = "active"

        ElseIf pageName = "ASP.pag5_aspx" Then
            pnl05.CssClass = "active"

        End If

    End Sub
End Class
raptorixmaandag 7 juni 2010 @ 14:28
quote:
Op zaterdag 5 juni 2010 10:48 schreef OEM het volgende:

[..]

In dit artikel staat wel zo'n beetje opgesomd welke struikelblokken je tegen gaat komen. De titel van het artikel is misschien een beetje negatief (en terecht), maar inhoudelijk is het okee.

ASP.NET Sucks and It DOES Matter
Veel zaken die hij noemt zijn flauwekul, daarnaast is het artikel 2 jaar oud. Als hij roept dat hij geen gratis .NET CMS kan vinden wat fatsoenlijk werkt zegt wel iets over de auteur.
OEMmaandag 7 juni 2010 @ 14:46
quote:
Op maandag 7 juni 2010 14:28 schreef raptorix het volgende:

[..]

Veel zaken die hij noemt zijn flauwekul, daarnaast is het artikel 2 jaar oud. Als hij roept dat hij geen gratis .NET CMS kan vinden wat fatsoenlijk werkt zegt wel iets over de auteur.
De essentie van het verhaal is dat ASP.NET een poging is om WinForms 1-op-1 te vertalen naar WebForms. Daarmee heeft MS een gedrocht gecreerd wat extreem ingewikkeld is met een zeer steile leercurve, MVC is wat dat betreft een hele verademing.
raptorixmaandag 7 juni 2010 @ 14:52
quote:
Op maandag 7 juni 2010 14:46 schreef OEM het volgende:

[..]

De essentie van het verhaal is dat ASP.NET een poging is om WinForms 1-op-1 te vertalen naar WebForms. Daarmee heeft MS een gedrocht gecreerd wat extreem ingewikkeld is met een zeer steile leercurve, MVC is wat dat betreft een hele verademing.
Eens, ook zaken als linkbuttons zijn een ramp.
Fortitudemaandag 7 juni 2010 @ 15:13
quote:
Op maandag 7 juni 2010 14:46 schreef OEM het volgende:

[..]

De essentie van het verhaal is dat ASP.NET een poging is om WinForms 1-op-1 te vertalen naar WebForms. Daarmee heeft MS een gedrocht gecreerd wat extreem ingewikkeld is met een zeer steile leercurve, MVC is wat dat betreft een hele verademing.
Laten we dan maar hopen dat MVC snel aanslaat en dat bedrijven wel over moeten. Maarja dan heb je natuurlijk weer veel draaiende producten die te duur zijn om over te zetten.
Ker_Plunkmaandag 7 juni 2010 @ 15:36
MVC… is daar ook een programma voor? Of werkt dat in VS/VWD?
raptorixmaandag 7 juni 2010 @ 15:45
quote:
Op maandag 7 juni 2010 15:13 schreef Fortitude het volgende:

[..]

Laten we dan maar hopen dat MVC snel aanslaat en dat bedrijven wel over moeten. Maarja dan heb je natuurlijk weer veel draaiende producten die te duur zijn om over te zetten.
De meeste .NET CMS'en zijn al hard bezig, zelf gebruik ik veel Umbraco, en daar zal het in versie 5 in komen.
raptorixmaandag 7 juni 2010 @ 15:45
Zijn er trouwens nog meer Umbraco experts hier?
Fortitudemaandag 7 juni 2010 @ 15:46
Kunnen jullie overigens een paar goede CMSen noemen. En dan ook zeggen waarom jullie deze geschikt vinden. Ik heb gehoord van SiteCore, SmartSite en Umbraco. Ik heb er echtere geen van alle gebruikt.
raptorixmaandag 7 juni 2010 @ 16:55
Ik werk zelf professioneel met umbraco, sitecore, episerver en smartsite, ik zal even korte opsomming geven:

-Umbraco
Mijn persoonlijke favoriet, goede community, stabiel en open source, enige echte nadeel vind ik de matige ondersteuning voor meertaligheid.
-Episerver
Erg sterk product met goede support, kosten zijn zo rond de 15k voor een site licentie, functionaliteit is ongeveer gelijk aan Umbraco, alleen heeft Episerver standaard meertaligheid ingebouwd.

-Sitecore, aardig product, maar had aan begin nogal wat problemen om als developer dingen in de backend te doen, redacteuren vinden de backend echter fantastisch. Nadeel vond ik dat het gebruik van de API vanuit usercontrolls soms wat gecompliceerd was, maar moet zeggen dat dit ook komt omdat ik weinig ervaring met sitecore had.

-Smartsite, ik doe het onderhoud aan een grote smartsite implementatie, het product is nog gebaseerd op ASP/VBScript, kortom erg frustrerend als je .NET/C# gewend bent, volgens mij word smartsite ook niet meer verkocht. Echter de opvolger ervan wel, dit product heet Experion.
Ik heb een korte Experion demo gezien, ziet er zeer aardig uit, wat wel een enorm nadeel is, is dat het een product is wat zich op de lokale markt richt, er is ook niet echt een grote community van dit product. Wat wel positief is, is de supportdesk, erg aardige gasten, en altijd goede hulp. Hou er wel rekening mee dat je hiervoor een jaarlijks bedrag voor moet betalen.
NikkelCobaltdinsdag 8 juni 2010 @ 04:07
quote:
Op maandag 7 juni 2010 15:13 schreef Fortitude het volgende:

[..]

Laten we dan maar hopen dat MVC snel aanslaat en dat bedrijven wel over moeten. Maarja dan heb je natuurlijk weer veel draaiende producten die te duur zijn om over te zetten.
MVC slaat momenteel wel aan, bij de grotere bedrijven wordt momenteel gevraagd om software volgens het MVC principe. Doch niet specifiek .NET, maar daarvoor is MVC ook een design-pattern.

En tja, overzetten: voor de consument maakt het weinig verschil volgens welke gedachtengang de applicatie is opgezet. Enkel als het voor de ontwikkelaar interessant wordt.
raptorixdinsdag 8 juni 2010 @ 10:01
quote:
Op dinsdag 8 juni 2010 04:07 schreef NikkelCobalt het volgende:

[..]

MVC slaat momenteel wel aan, bij de grotere bedrijven wordt momenteel gevraagd om software volgens het MVC principe. Doch niet specifiek .NET, maar daarvoor is MVC ook een design-pattern.

En tja, overzetten: voor de consument maakt het weinig verschil volgens welke gedachtengang de applicatie is opgezet. Enkel als het voor de ontwikkelaar interessant wordt.
Klopt, ik merk echter wel dat Java op dit moment terrein verliest, niet zo vreemd ook omdat .NET zich de laatste tijd erg positief ontwikkeld heeft waar Java gewoon stil staat.
NikkelCobaltdinsdag 8 juni 2010 @ 10:41
quote:
Op dinsdag 8 juni 2010 10:01 schreef raptorix het volgende:

[..]

Klopt, ik merk echter wel dat Java op dit moment terrein verliest, niet zo vreemd ook omdat .NET zich de laatste tijd erg positief ontwikkeld heeft waar Java gewoon stil staat.
Imo is die ontwikkeling al sinds 2006 op gang. Maarja met scholen die achter de feiten aanlopen (een 4 jaar) en toentertijd vooral Java ontwikkelaars op de markt hebben gezet heeft ook niet geholpen.

Wat ik overigens ook wel zie, hoewel ik niet exact weet in wat voor mate, is dat python ook aan een opmars bezig is. Heb het ook al een bedrijf afgeraden waar na 3 jaar alle python eruit was gewerkt en men vervolgens maar externe aanbestedingen ging doen in python. Heb niet zulke beste ervaringen ermee: python is niet backwards compatible dus je script eigenlijk altijd voor jan lul.
Ker_Plunkdonderdag 24 juni 2010 @ 16:01
Ik heb een werkende pagina die offertes in een remote mySQL db stopt. Verder heb ik een pagina met een GridView die dezelfde connectie string gebruikt. Hier is de SelectCommand ingesteld net als de parameters. Bij de GridView wordt er verwezen naar de datasource.

Er worden echter geen records weergegeven. De GridView doet het verder wel aangezien hij de EmptyDataText laat zien. Zie ik iets over het hoofd?
Fortitudedonderdag 24 juni 2010 @ 16:20
quote:
Op donderdag 24 juni 2010 16:01 schreef Ker_Plunk het volgende:
Ik heb een werkende pagina die offertes in een remote mySQL db stopt. Verder heb ik een pagina met een GridView die dezelfde connectie string gebruikt. Hier is de SelectCommand ingesteld net als de parameters. Bij de GridView wordt er verwezen naar de datasource.

Er worden echter geen records weergegeven. De GridView doet het verder wel aangezien hij de EmptyDataText laat zien. Zie ik iets over het hoofd?
Probeer te achterhalen wat voor SQL die genereert en voer die los uit op de database.
Ker_Plunkdonderdag 24 juni 2010 @ 16:40
quote:
Op donderdag 24 juni 2010 16:20 schreef Fortitude het volgende:

[..]

Probeer te achterhalen wat voor SQL die genereert en voer die los uit op de database.
SelectCommand in de datasource:
1SelectCommand="SELECT [id], [Bedrijfsnaam], [Adres], [Contactpersoon] FROM [offertes]" (heb hem even ingekort)


Parameters:
1
2
3
<asp:Parameter Name="id" Type="Int32" />
<asp:Parameter Name="Bedrijfsnaam" Type="String" />
<asp:Parameter Name="Contactpersoon" Type="String" />


Tja, wat voor code heb je meer nodig om alleen gegevens te tonen :?
Fortitudedonderdag 24 juni 2010 @ 16:49
quote:
Op donderdag 24 juni 2010 16:40 schreef Ker_Plunk het volgende:

[..]

SelectCommand in de datasource:
[ code verwijderd ]

Parameters:
[ code verwijderd ]

Tja, wat voor code heb je meer nodig om alleen gegevens te tonen
Ok maar dat is niet de SQL die echt op de database wordt uitgevoerd (of niet). Voer dat direct op de database uit en je krijgt terug wat er in het grid getoond moet worden. Ik heb trouwens geen idee hoe je dat kan opvragen. Dat zou je via googlen moeten zoeken.
OEMvrijdag 25 juni 2010 @ 00:04
quote:
Op donderdag 24 juni 2010 16:01 schreef Ker_Plunk het volgende:
Ik heb een werkende pagina die offertes in een remote mySQL db stopt. Verder heb ik een pagina met een GridView die dezelfde connectie string gebruikt. Hier is de SelectCommand ingesteld net als de parameters. Bij de GridView wordt er verwezen naar de datasource.

Er worden echter geen records weergegeven. De GridView doet het verder wel aangezien hij de EmptyDataText laat zien. Zie ik iets over het hoofd?
1. Weet je zeker dat er records in de tabel zitten
2. Run de selectcommand direct op de db met bv. MySql Workbench
3. Verplaats alle sql commands naar een aparte class. Hier kan je doorheen debuggen ipv de blackbox die GridView + DataSource heet
4. GridView is een draak van een control dus daar kan ook nog van alles verkeerd staan

Dat is in het algemeen zo de manier om te achterhalen waar het mis gaat.
HMaster-IIdonderdag 1 juli 2010 @ 13:14
Voor jullie me gaan lynchen...... Ja ik gebruikt Visual Web Developer 2010 Express.
Puur om het leren en snel wat te kunnen opzetten.

Nu heb ik een paar problemen/vragen met betrekking tot het volgende.
Ik wil een pagina maken met een aantal velden (die requiered zijn) en pas als die gevuld zijn moet er een mail verzonden worden.
NU is dat eerste deel geen moeilijk iets. Dat krijg ik wel goed werkende. Maar het mail gebeuren. -O- Ik ben meerdere fora en sites af geweest om duidelijkheid te krijgen, maar ik snap er weinig van. Hoe ik nu die mail functie goed in de pagina plaats.

Zie onderstaande schematische voorbeeld.
1
2
3
4
5
6
7
8
9
10
11
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" 
CodeBehind="UpdateCHK.aspx.cs" Inherits="WebApplication1.UpdateCHK" %>

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" runat="server" contentplaceholderid="MainContent">

/* hier komt het lijst met meerdere "afvinkbare" stappen.
/* hier komt een submit knop die een mail verstuurd naar interne verantwoordelijke.

</asp:Content>


Ik kom veel info tegen, maar daar kom ik gewoon niet uit. -O- Graag zou ik hierbij hulp krijgen.
Ker_Plunkdonderdag 1 juli 2010 @ 13:46
quote:
Op donderdag 1 juli 2010 13:14 schreef HMaster-II het volgende:
Voor jullie me gaan lynchen...... Ja ik gebruikt Visual Web Developer 2010 Express.
Puur om het leren en snel wat te kunnen opzetten.

Nu heb ik een paar problemen/vragen met betrekking tot het volgende.
Ik wil een pagina maken met een aantal velden (die requiered zijn) en pas als die gevuld zijn moet er een mail verzonden worden.
NU is dat eerste deel geen moeilijk iets. Dat krijg ik wel goed werkende. Maar het mail gebeuren. Ik ben meerdere fora en sites af geweest om duidelijkheid te krijgen, maar ik snap er weinig van. Hoe ik nu die mail functie goed in de pagina plaats.

Zie onderstaande schematische voorbeeld.
[ code verwijderd ]

Ik kom veel info tegen, maar daar kom ik gewoon niet uit. Graag zou ik hierbij hulp krijgen.
Csharp zie ik… kan het je wel in VB geven!
Crutchdonderdag 1 juli 2010 @ 13:57
quote:
Op donderdag 1 juli 2010 13:46 schreef Ker_Plunk het volgende:

[..]

Csharp zie ik… kan het je wel in VB geven!
Dat is bijna hetzelfde, toch?
Crutchdonderdag 1 juli 2010 @ 13:59
O ja, ik had eigenlijk een vraag.

Weet iemand een link naar goede documentatie / tutorials over het managen van Acces-databases met OCDB of OLEDB ofzoiets?

Ik kom met Google eigenlijk alleen maar uit bij uitleg over hoe je een connectie maakt.

In Csharp, btw.

[ Bericht 0% gewijzigd door Crutch op 01-07-2010 13:59:44 (typo de pipo :P) ]
HMaster-IIdonderdag 1 juli 2010 @ 14:16
quote:
Op donderdag 1 juli 2010 13:46 schreef Ker_Plunk het volgende:

[..]

Csharp zie ik… kan het je wel in VB geven!
De site is voor zoveel mogelijk in C# gebouwd... Maar ik weet niet of je dan een VB pagina er naast kan zetten
Fortitudedonderdag 1 juli 2010 @ 14:26
quote:
Op donderdag 1 juli 2010 13:46 schreef Ker_Plunk het volgende:

[..]

Csharp zie ik… kan het je wel in VB geven!
http://www.developerfusion.com/tools/convert/vb-to-csharp/

Overigens zie ik niet echt wat daar moeilijk aan is. .NET heeft vele classes in het framework die je kan gebruiken voor het versturen van emails:

http://msdn.microsoft.com/en-us/library/system.net.mail.aspx
quote:
Op donderdag 1 juli 2010 13:59 schreef Crutch het volgende:
O ja, ik had eigenlijk een vraag.

Weet iemand een link naar goede documentatie / tutorials over het managen van Acces-databases met OCDB of OLEDB ofzoiets?

Ik kom met Google eigenlijk alleen maar uit bij uitleg over hoe je een connectie maakt.

In Csharp, btw.
Daar heb ik geen ervaring mee. Probeer te zoeken op VSTO.

Ik mag trouwens hopen dat jij niet zelf kiest voor Access. Want als iets bagger is als een database dan is dat het wel.
Crutchdonderdag 1 juli 2010 @ 14:28
quote:
Op donderdag 1 juli 2010 14:26 schreef Fortitude het volgende:

[..]

http://www.developerfusion.com/tools/convert/vb-to-csharp/

Overigens zie ik niet echt wat daar moeilijk aan is. .NET heeft vele classes in het framework die je kan gebruiken voor het versturen van emails:

http://msdn.microsoft.com/en-us/library/system.net.mail.aspx
[..]

Daar heb ik geen ervaring mee. Probeer te zoeken op VSTO.

Ik mag trouwens hopen dat jij niet zelf kiest voor Access. Want als iets bagger is als een database dan is dat het wel.
Ik wil het eigenlijk gewoon maken in Visual Studio.
Wat raad je me aan om als database te gebruiken?
Fortitudedonderdag 1 juli 2010 @ 14:35
quote:
Op donderdag 1 juli 2010 14:28 schreef Crutch het volgende:

[..]

Ik wil het eigenlijk gewoon maken in Visual Studio.
Wat raad je me aan om als database te gebruiken?
Ligt er eigenlijk aan wat je wilt. SQL Server heeft de beste integratie omdat het de database van Microsoft zelf is. MySQL is wel een goed gratis alternatief. Voor echt goede performance moet je uitwijken naar bv. Oracle (althans dat heb ik mij laten vertellen). Maar dat zou voor de meeste applicaties niet boeiend zijn.

En wat versta je onder maken van de database vanuit Visual Studio? Managen kan sowieso via de Server Explorer (View > Server Explorer).

Als je echt iets leuks wil doen dan kan je een ORM gebruiken zoals NHibernate. Dan daarmee je domein maken en de database compleet laten genereren.

http://en.wikipedia.org/wiki/Domain-driven_design

Alhoewel je daarmee wel ver voorbij het gebruikelijke niveau van een hobbyist gaat.
Crutchdonderdag 1 juli 2010 @ 14:40
Als hobbyist zijnde wil ik mijn handen vies maken aan een standalone-applicatie die geen verbinding heeft met internet, maar wel gegevens opslaat in bijvoorbeeld een file/database.

Doel:

Urenregistratie
Bonnen/facturen bijhouden etc.

Tevens de mogelijkheid om het te exporteren naar excel of acces...
Fortitudedonderdag 1 juli 2010 @ 14:49
quote:
Op donderdag 1 juli 2010 14:40 schreef Crutch het volgende:
Als hobbyist zijnde wil ik mijn handen vies maken aan een standalone-applicatie die geen verbinding heeft met internet, maar wel gegevens opslaat in bijvoorbeeld een file/database.

Doel:

Urenregistratie
Bonnen/facturen bijhouden etc.

Tevens de mogelijkheid om het te exporteren naar excel of acces...
Je hebt wel SQL Server Compact edition ofzo. Dan zijn het .sdf files in plaats van .mdf files. Dat dan is je database gewoon 1 locale file. Overigens kan je die ook vanuit VS maken (Add new item > Data > Local Database).

Overigens heb je ook een framework van MS waarmee je databases kan syncen.

http://msdn.microsoft.com/en-us/sync/default.aspx

Op zich wel handig om een locale (offline) database te syncen met een centrale database. Gelukkig heb ik dat nooit hoeven doen. Dat lijkt mij echt een pokkewerk. Ik werk liever altijd met een centrale database.

En hoezo nou weer exporteren naar excel en access. Ik zou eerder een PDF willen genereren.
Crutchdonderdag 1 juli 2010 @ 14:51
quote:
Op donderdag 1 juli 2010 14:49 schreef Fortitude het volgende:

[..]

Je hebt wel SQL Server Compact edition ofzo. Dan zijn het .sdf files in plaats van .mdf files. Dat dan is je database gewoon 1 locale file. Overigens kan je die ook vanuit VS maken (Add new item > Data > Local Database).

Overigens heb je ook een framework van MS waarmee je databases kan syncen.

http://msdn.microsoft.com/en-us/sync/default.aspx

Op zich wel handig om een locale (offline) database te syncen met een centrale database. Gelukkig heb ik dat nooit hoeven doen. Dat lijkt mij echt een pokkewerk. Ik werk liever altijd met een centrale database.

En hoezo nou weer exporteren naar excel en access. Ik zou eerder een PDF willen genereren.
Okay, ik zal me er eens in verdiepen, iig hartstikke bedankt voor je hulp en uitleg.
Fortitudedonderdag 1 juli 2010 @ 14:54
quote:
Op donderdag 1 juli 2010 14:51 schreef Crutch het volgende:

[..]

Okay, ik zal me er eens in verdiepen, iig hartstikke bedankt voor je hulp en uitleg.
Trouwens heb je ook veel tools om rapporten te genereren. Super veel controle heb je daarmee niet, maar je kan wel snel iets fatsoenlijks in elkaar zetten. De 2 bekendste zijn denk ik Reporting Services en Crystal Reports.
Crutchdonderdag 1 juli 2010 @ 14:58
quote:
Op donderdag 1 juli 2010 14:54 schreef Fortitude het volgende:

[..]

Trouwens heb je ook veel tools om rapporten te genereren. Super veel controle heb je daarmee niet, maar je kan wel snel iets fatsoenlijks in elkaar zetten. De 2 bekendste zijn denk ik Reporting Services en Crystal Reports.
Tof. Die kan weer exporteren naar Ecxel e.d.
Fortitudevrijdag 9 juli 2010 @ 12:09
quote:
Op donderdag 1 juli 2010 14:51 schreef Crutch het volgende:

[..]

Okay, ik zal me er eens in verdiepen, iig hartstikke bedankt voor je hulp en uitleg.
Ik heb vandaag en gisteren een App in elkaar gegooid. Het maakt gebruik van:

- WinForms
- Entity Framework (een ORM)
- SQL Server Compact Edition (een lokale file als database dus)

http://www.megafileupload(...)toKostenApp-zip.html

Het is allemaal vluchtig gedaan dus er is vast nog wel veel te verbeteren. Maar het is denk ik wel een aardig voorbeeld voor jou.

Gewoon unzippen en runnen. Het is wel een Visual Studio 2010 project.

[ Bericht 1% gewijzigd door Fortitude op 09-07-2010 22:06:12 ]
Crutchvrijdag 9 juli 2010 @ 12:14
quote:
Op vrijdag 9 juli 2010 12:09 schreef Fortitude het volgende:

[..]

Ik heb vandaag en gisteren een App in elkaar gegooid. Het maakt gebruik van:

- WinForms
- Entity Framework (een ORM)
- SQL Server Compact Edition (een lokale file als database dus)

http://www.megafileupload(...)toKostenApp-zip.html

Het is allemaal vluchtig gedaan dus er is vast nog wel veel te verbeteren. Maar het is denk ik wel een aardig voorbeeld voor jou.

Gewoon unzippen en runnen. Het is wel een Visual Studio 2010 project.
Ik zit nu achter een Mac, maar als ik thuis ben zal ik het even testen.
Fortitudevrijdag 9 juli 2010 @ 12:32
http://www.codeguru.com/c(...)ticle.php/c15489__1/

Dat is trouwens wel een aardige tutorial van Entity Framework 1. Die heb ik ook aangehouden in de App (alleen pagina 1 en 2).
Crutchvrijdag 9 juli 2010 @ 12:43
quote:
Op vrijdag 9 juli 2010 12:32 schreef Fortitude het volgende:
http://www.codeguru.com/c(...)ticle.php/c15489__1/

Dat is trouwens wel een aardige tutorial van Entity Framework 1. Die heb ik ook aangehouden in de App (alleen pagina 1 en 2).
Ik heb het even doorgelezen en ik moet zeggen dat het er best begrijpelijk uitziet.
Overigens zien die query's er ook relaxed uit, iig beter dan: "INSERT bladiebla INTO bladiebla (en een heleboel rommel tussen haakjes enzulks)"
Maar goed, dat is wat ik er vluchtig uitgehaald heb.

Thanks Fortitude.
Fortitudevrijdag 9 juli 2010 @ 13:03
quote:
Op vrijdag 9 juli 2010 12:43 schreef Crutch het volgende:

Overigens zien die query's er ook relaxed uit, iig beter dan: "INSERT bladiebla INTO bladiebla (en een heleboel rommel tussen haakjes enzulks)"
Maar goed, dat is wat ik er vluchtig uitgehaald heb.
1
2
3
4
IQueryable<Payroll> payrollQuery =
   from p in publishContext.Payroll
   where p.Author.AuthorID == selectedAuthorID
   select p;


Zoiets dus. Dat is dus LINQ. In dit geval LINQ to Entity Framework. Maar je kan het ook toepassen op bv. XML of DataSets.
Ker_Plunkmaandag 12 juli 2010 @ 15:50
quote:
Op woensdag 2 juni 2010 20:02 schreef OEM het volgende:

[..]

Ik doe altijd het meest simpele:
1. maak een html file met op de plekken waar wat gevuld moet worden "{parameternaam}"
2. lees file in
3. replace alle {xxx} met de juiste waarde
[ code verwijderd ]

dat eindeloos replacen is ook niet de mooiste oplossing, maar dat maakt ook niet zoveel uit in dit soort gevallen.
Ik heb dit even uitgeprobeerd, maar krijg de volgende foutmelding;

1System.IO.FileNotFoundException: Could not find file 'c:\windows\system32\inetsrv\emailToClient.html'.


html bestand staat in de root en in de App_Data folder…
Cryothicdinsdag 13 juli 2010 @ 12:25
Roep je wel het juiste path aan in je code dan?
Hoe ziet de code er uit waar je het html bestand probeerd op te vragen?

Laatste keer dat ik zoiets moest doen heb ik er een XML van gemaakt (de email template), en die via een XSL file geparsed. Helaas werk ik al weer 2 jaar bijna constant met ASP classic, en te weinig met .NET
Fortitudedinsdag 13 juli 2010 @ 12:53
quote:
Op dinsdag 13 juli 2010 12:25 schreef Cryothic het volgende:

Helaas werk ik al weer 2 jaar bijna constant met ASP classic, en te weinig met .NET
Tijd voor een nieuwe baan.
Cryothicdinsdag 13 juli 2010 @ 12:57
quote:
Op dinsdag 13 juli 2010 12:53 schreef Fortitude het volgende:

[..]

Tijd voor een nieuwe baan.
Tja, ik zou al weer met .NET bezig zijn, maar de bouw van het nieuwe CMS loopt inmiddels al bijna een jaar uit. Daarbij zijn ze nog steeds heel blij met me hier, omdat er weinig classic asp'ers te vinden zijn. En de huidige klanten moeten toch bediend worden natuurlijk.
Fortitudedinsdag 13 juli 2010 @ 13:03
quote:
Op dinsdag 13 juli 2010 12:57 schreef Cryothic het volgende:

[..]

Tja, ik zou al weer met .NET bezig zijn, maar de bouw van het nieuwe CMS loopt inmiddels al bijna een jaar uit. Daarbij zijn ze nog steeds heel blij met me hier, omdat er weinig classic asp'ers te vinden zijn. En de huidige klanten moeten toch bediend worden natuurlijk.
Begrijpelijk, maar dat loopt dan al wel erg lang. Bij dat soort bedrijven krijg ik altijd het gevoel dat ze niet met de tijd mee willen gaan onder het motto van "if it ain't broke don't try to fix it". Krenterig gebeuren.

En zo zijn er nog wel meer voorbeelden. COBOL, C++, Sharepoint, Delphi etc.
Cryothicdinsdag 13 juli 2010 @ 13:07
quote:
Op dinsdag 13 juli 2010 13:03 schreef Fortitude het volgende:

[..]

Begrijpelijk, maar dat loopt dan al wel erg lang. Bij dat soort bedrijven krijg ik altijd het gevoel dat ze niet met de tijd mee willen gaan onder het motto van "if it ain't broke don't try to fix it". Krenterig gebeuren.

En zo zijn er nog wel meer voorbeelden. COBOL, C++, Sharepoint, Delphi etc.
Nou, het is een compleet ander verhaal hier.
2 jaar geleden kwam was er een nieuw .NET CMS, maar dat is grotendeels door 1 persoon gebouwd (grote fout van het management), en die stapte voordat het helemaal af was op. Gevolg, wij zaten met een half CMS, vol met denk-fouten etc.
Toen is er dus met de .NET'ers die er nog waren een nieuw CMS opgezet, dit keer goed uitgedacht enzo. Alleen zijn er weer twee mensen opgestapt, waarvan er 1 gewoon baggercode heeft gebruikt om dingen te laten werken, waar je later in de praktijk pas tegen aan loopt. En de ander heeft zich niet aan de gemaakte afspraken gehouden, met als gevolg dat goed doordachte delen, slecht in elkaar zitten.

We zijn simpelweg te klein (inmiddels) om iedereen regel voor regel te gaan controleren. Maar goed, er wordt nu hard gewerkt om het allemaal in orde te krijgen. Komt allemaal wel weer goed.
Ker_Plunkdinsdag 13 juli 2010 @ 13:07
quote:
Op dinsdag 13 juli 2010 12:25 schreef Cryothic het volgende:
Roep je wel het juiste path aan in je code dan?
Hoe ziet de code er uit waar je het html bestand probeerd op te vragen?

Laatste keer dat ik zoiets moest doen heb ik er een XML van gemaakt (de email template), en die via een XSL file geparsed. Helaas werk ik al weer 2 jaar bijna constant met ASP classic, en te weinig met .NET
emailbericht.IsBodyHtml = True
emailbericht.Body = File.ReadAllText("emailToClient.html")
emailbericht.Body = Server.MapPath("D:\internet\root\www\WebSite\WebSite\wwwroot\emailToClient.html")

Jullie bedrijf gaat terug in de tijd met asp?
Cryothicdinsdag 13 juli 2010 @ 13:13
quote:
Op dinsdag 13 juli 2010 13:07 schreef Ker_Plunk het volgende:

[..]

emailbericht.IsBodyHtml = True
emailbericht.Body = File.ReadAllText("emailToClient.html")
emailbericht.Body = Server.MapPath("D:\internet\root\www\WebSite\WebSite\wwwroot\emailToClient.html")

Jullie bedrijf gaat terug in de tijd met asp?
zit het hem niet gewoon in de tweede regel? Daar geef je geen path mee. Daarna opeens wel.

En nee, we gaan niet terug in de tijd, ik ben 2 jaar geleden van bedrijf gewisseld
Bij m'n vorige werk begonnen ze inmiddels langzaam aan naar .net over te gaan.
Fortitudedinsdag 13 juli 2010 @ 13:17
quote:
Op dinsdag 13 juli 2010 13:07 schreef Cryothic het volgende:

We zijn simpelweg te klein (inmiddels) om iedereen regel voor regel te gaan controleren. Maar goed, er wordt nu hard gewerkt om het allemaal in orde te krijgen. Komt allemaal wel weer goed.
Voordeel is wel weer dat er genoeg werk is en dat jij waardevol bent voor het bedrijf.
Ker_Plunkdinsdag 13 juli 2010 @ 13:47
quote:
Op dinsdag 13 juli 2010 13:13 schreef Cryothic het volgende:

[..]

zit het hem niet gewoon in de tweede regel? Daar geef je geen path mee. Daarna opeens wel.


System.Web.HttpException: 'D:\internet\root\www\X\X\wwwroot\emailToClient.html' is not a valid virtual path.
Cryothicdinsdag 13 juli 2010 @ 13:50
Dat klopt, dat is een fysiek path.

emailbericht.Body = File.ReadAllText("/emailToClient.html")

en zo?
Ker_Plunkdinsdag 13 juli 2010 @ 14:25
quote:
Op dinsdag 13 juli 2010 13:50 schreef Cryothic het volgende:
Dat klopt, dat is een fysiek path.

emailbericht.Body = File.ReadAllText("/emailToClient.html")

en zo?
Could not find file 'c:\emailToClient.html'.


Hij blijft verwijzen naar de c schijf… moet ik dit misschien ergens instelling in de web.config?
Cryothicdinsdag 13 juli 2010 @ 14:32
is het een webapp of gewone app?

misschien met "~/emailToClient.html" ?
Ker_Plunkdinsdag 13 juli 2010 @ 15:48
quote:
Op dinsdag 13 juli 2010 14:32 schreef Cryothic het volgende:
is het een webapp of gewone app?

misschien met "~/emailToClient.html" ?
Gewoon een webform

Dim pad As String = ("D:/internet/root/www/x/x/wwwroot/emailToClient.html")

emailbericht.IsBodyHtml = True
emailbericht.Body = Server.MapPath(pad)
emailbericht.Body = File.ReadAllText("emailToClient.html")

Heb meerdere optie's geprobeerd, met / , \ ,volledig pad, ~\ maar hij blijft miepen
Cryothicdinsdag 13 juli 2010 @ 16:24
ja, maar...

server.mappath() geeft de fysieke locatie van een virtuele map volgens mij.
en nu ken je 2x een waarde toe aan emailbericht.body.

werkt dit niet?:

1
2
3
4
Dim template As String = Server.MapPath("/emailToClient.html")

emailbericht.IsBodyHtml = True
emailbericht.Body = File.ReadAllText(template)
mscholzaterdag 17 juli 2010 @ 21:41
ik heb een programmatje geschreven voor het indexeren van m'n volume met al m'n video files (en tevens een leuk 'hoe werkt vb.net' projectje)
alleen vraag ik me nu iets af:
ik heb een aantal instellingen waarvan ik wil dat deze opgeslagen worden en weer geladen worden als je het programma opent.

momenteel doe ik dat via het register, wat opzich aardig werkt (alleen heb ik misschien aan het begin een iets te sterke check zitten als de key's niet bestaan en dan starttie niet op..)
tevens kan ik dan een wachtwoord (nog) niet encrypted opslaan..

iemand een beter idee? ik dacht een ini file (dan hoef je em niet te installeren/regkey importeren)
echter werdt er elders vermeld dat je dan beter de config settings van .net kan gebruiken

iemand hier ervaring mee?/tips?
TallManzaterdag 17 juli 2010 @ 21:48
Met de ConfigurationManager class kun je wat je wilt in een xml bestand opslaan.
En dan met name naar de Appsettings kijken voor het simpelere opslagwerk.
Tarabasszaterdag 17 juli 2010 @ 21:49
Sinds kort bezig met MVC (2.0) i.cm. entity framework. Werkt als de brandweer en brengt me toch weer wat dichter bij hoe webprogramming er volgens mij uit zou moeten zien. Al vind ik daarin GWT ook geniaal :x
Ker_Plunkdonderdag 22 juli 2010 @ 16:15
quote:
Op dinsdag 13 juli 2010 16:24 schreef Cryothic het volgende:
ja, maar...

server.mappath() geeft de fysieke locatie van een virtuele map volgens mij.
en nu ken je 2x een waarde toe aan emailbericht.body.

werkt dit niet?:
[ code verwijderd ]
Nou, ik heb hem werkend hoor :P

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim EmailTemplatePath As String = Server.MapPath("email.html")
Dim EmailTemplateContent As String = ""

If File.Exists(EmailTemplatePath) Then

EmailTemplateContent = File.ReadAllText(EmailTemplatePath)

If EmailTemplateContent.Length > 0 Then

'vervang waardes email bestand
EmailTemplateContent = EmailTemplateContent.Replace("[naam]", naam)
EmailTemplateContent = EmailTemplateContent.Replace("[etc]", etc)

End If
End If

bericht.Body = EmailTemplateContent
OEMdonderdag 22 juli 2010 @ 22:16
quote:
Op zaterdag 17 juli 2010 21:41 schreef mschol het volgende:
ik heb een programmatje geschreven voor het indexeren van m'n volume met al m'n video files (en tevens een leuk 'hoe werkt vb.net' projectje)
alleen vraag ik me nu iets af:
ik heb een aantal instellingen waarvan ik wil dat deze opgeslagen worden en weer geladen worden als je het programma opent.

momenteel doe ik dat via het register, wat opzich aardig werkt (alleen heb ik misschien aan het begin een iets te sterke check zitten als de key's niet bestaan en dan starttie niet op..)
tevens kan ik dan een wachtwoord (nog) niet encrypted opslaan..

iemand een beter idee? ik dacht een ini file (dan hoef je em niet te installeren/regkey importeren)
echter werdt er elders vermeld dat je dan beter de config settings van .net kan gebruiken

iemand hier ervaring mee?/tips?
1. via app.config (danwel web.config) zoals al eerder genoemd
2. via een settings file (add new item - settings file) ben je een stuk flexibeler. Werkt niet voor web apps
Fortitudevrijdag 23 juli 2010 @ 13:30
Weten jullie toevallig nog een redelijke webhost die ook .NET 4.0 heeft? Het is voor simpel privé gebruik dus liefst niet te duur. Alle hosts die ik vind hebben nog 3.5.
Cryothicvrijdag 23 juli 2010 @ 13:35
ik heb 2 jaar bij webstekker.nl gezeten.
Die doen o.a. ook ASP.NET 4.0
Tuvai.netdinsdag 27 juli 2010 @ 00:33
quote:
Op zaterdag 17 juli 2010 21:41 schreef mschol het volgende:
ik heb een programmatje geschreven voor het indexeren van m'n volume met al m'n video files (en tevens een leuk 'hoe werkt vb.net' projectje)
alleen vraag ik me nu iets af:
ik heb een aantal instellingen waarvan ik wil dat deze opgeslagen worden en weer geladen worden als je het programma opent.

momenteel doe ik dat via het register, wat opzich aardig werkt (alleen heb ik misschien aan het begin een iets te sterke check zitten als de key's niet bestaan en dan starttie niet op..)
tevens kan ik dan een wachtwoord (nog) niet encrypted opslaan..

iemand een beter idee? ik dacht een ini file (dan hoef je em niet te installeren/regkey importeren)
echter werdt er elders vermeld dat je dan beter de config settings van .net kan gebruiken

iemand hier ervaring mee?/tips?
Kan op heel veel manieren. Je kunt inderdaad aan bestandjes denken, het register, maar ook bijvoorbeeld 'Isolated Storage'. Laatste gebruik ik zelf het liefst wanneer ik niet al te veel/grote gegevens op moet slaan, en je kunt het profiel/computer/domein afhankelijk maken. Isolated Storage is tevens erg veilig, en werkt ook als je als gebruiker geen rechten hebt op bijvoorbeeld bestanden aan te maken.

Checks kun je echter beter altijd doen, het kan immers altijd voorkomen dat instellingen en/of bestanden opeens 'zomaar' weg zijn. :)
Ker_Plunkwoensdag 28 juli 2010 @ 08:34
Ik wil de data van 5 textboxes die je op een pagina invoert laten tonen op een andere pagina (zonder gebruik db). Ik had al wat gestoeid met updatepanels op een zelfde pagina maar dat werkt niet echt lekker…
Tuvai.netwoensdag 28 juli 2010 @ 08:42
quote:
Op woensdag 28 juli 2010 08:34 schreef Ker_Plunk het volgende:
Ik wil de data van 5 textboxes die je op een pagina invoert laten tonen op een andere pagina (zonder gebruik db). Ik had al wat gestoeid met updatepanels op een zelfde pagina maar dat werkt niet echt lekker…
Met Server.Transfer() kun je eenvoudig Textbox waardes verwerken op een andere Web Form.
http://www.csharpfriends.(...)le.aspx?articleID=15
Cryothicwoensdag 28 juli 2010 @ 08:45
quote:
Op woensdag 28 juli 2010 08:34 schreef Ker_Plunk het volgende:
Ik wil de data van 5 textboxes die je op een pagina invoert laten tonen op een andere pagina (zonder gebruik db). Ik had al wat gestoeid met updatepanels op een zelfde pagina maar dat werkt niet echt lekker…
WebForm? of WinForm?

Ik heb alleen ervaring met WebForms, maar daar kan je het in je viewstate kwijt. Of in je sessie.
Giemwoensdag 28 juli 2010 @ 08:49
quote:
Op woensdag 28 juli 2010 08:42 schreef Tuvai.net het volgende:

[..]

Met Server.Transfer() kun je eenvoudig Textbox waardes verwerken op een andere Web Form.
http://www.csharpfriends.(...)le.aspx?articleID=15
Het gaat dus niet zozeer om de server.transfer(), want dat kan ook met een response.redirect(). Ligt er aan of je de gebruiker wil laten zien dat hij naar een andere pagina gaat.

Waar hier hier vooral om gaat is je data tijdelijk op te slaan zonder een database te gebruiken. Dat kan op meerdere manieren. Je kan het opslaan in de sessie (meest voor de hand liggend), een cookie als het langer bewaard moet worden, of in de querystring (voor als mensen de link aan andere moeten kunnen geven, vooral handig als het om zoekwaarden gaat, zoals bij google)

Hoe je dat precies doet vind je wel op google.
Giemwoensdag 28 juli 2010 @ 08:52
quote:
Op woensdag 28 juli 2010 08:45 schreef Cryothic het volgende:

[..]

WebForm? of WinForm?

Ik heb alleen ervaring met WebForms, maar daar kan je het in je viewstate kwijt. Of in je sessie.
Euuh, viewstate lijkt me niet.. dat heeft te maken met je huidige pagina en huidige controls, hij geeft aan naar een andere pagina te gaan..
Cryothicwoensdag 28 juli 2010 @ 09:00
Ja, ok, naar een andere pagina wordt lastiger met je viewstate.

Maar opzich, je kan je form toch ook gewoon submitten naar een andere pagina?
Dan krijg je de controls van je vorige pagina gewoon mee.
kingjottewoensdag 28 juli 2010 @ 09:06
quote:
Op donderdag 22 juli 2010 16:15 schreef Ker_Plunk het volgende:

[..]

Nou, ik heb hem werkend hoor :P
[ code verwijderd ]


Waarom los je dit niet op met een xslt eigenlijk?
Ker_Plunkwoensdag 28 juli 2010 @ 09:15
Het is een webform.
Het moet echt heel simpel blijven hoor, je voert iets in de textboxes en dat moet je op een andere pagina te zien krijgen (wat in feite dus een controlepagina is) en vanuit daar submit je dat naar een db en genereer je een email (dit werkt al allemaal) :)
Giemwoensdag 28 juli 2010 @ 09:19
quote:
Op woensdag 28 juli 2010 09:15 schreef Ker_Plunk het volgende:
Het is een webform.
Het moet echt heel simpel blijven hoor, je voert iets in de textboxes en dat moet je op een andere pagina te zien krijgen (wat in feite dus een controlepagina is) en vanuit daar submit je dat naar een db en genereer je een email (dit werkt al allemaal) :)
Sessie gebruiken dus.

Session.add("naam", iets);

uitlezen als (iets)session[naam];

Uit mijn hoofd.
Cryothicwoensdag 28 juli 2010 @ 09:45
je kan ook submitten naar dezelfde pagina.

In de pageload de isPostBack afvangen, en in de postback de values controleren.
Ker_Plunkwoensdag 28 juli 2010 @ 10:55
quote:
Op woensdag 28 juli 2010 09:06 schreef kingjotte het volgende:

[..]

Waarom los je dit niet op met een xslt eigenlijk?
Omdat ik al nauwelijks weet wat het is :P
Ker_Plunkwoensdag 28 juli 2010 @ 12:47
quote:
Op woensdag 28 juli 2010 09:19 schreef Giem het volgende:

[..]

Sessie gebruiken dus.

Session.add("naam", iets);

uitlezen als (iets)session[naam];

Uit mijn hoofd.
Ok, dit is makkelijk. Echter zit ik met één dingetje;
Pas na de 2de pagina mag er een mail worden verstuurd en de data in de db gezet worden.
Alleen de txtboxes komen/mogen niet op de 2de pagina, dus zijn ze ook niet gedeclareerd…
Fortitudewoensdag 28 juli 2010 @ 12:49
quote:
Op woensdag 28 juli 2010 12:47 schreef Ker_Plunk het volgende:

[..]

Ok, dit is makkelijk. Echter zit ik met één dingetje;
Pas na de 2de pagina mag er een mail worden verstuurd en de data in de db gezet worden.
Alleen de txtboxes komen/mogen niet op de 2de pagina, dus zijn ze ook niet gedeclareerd…
De sessie staat los van de Texboxen. Als jij op een 2e pagina weer iets met de waardes zou willen dan moet je de sessie uitlezen.
Cryothicwoensdag 28 juli 2010 @ 13:11
idd, alleen de waardes van de tekstboxen worden in de sessie opgeslagen.

je kan het dan ook zo maken, dat als je op de back knop druk, en je komt weer op de eerste pagina, de waardes al ingevuld zijn.

en vergeet niet na het versturen van je email je sessie-waarden weer leeg te gooien, ander krijg je misschien rare situaties als iemand nogmaals de textboxen in gaat vullen.
Giemwoensdag 28 juli 2010 @ 14:39
Mmm eigenlijk is het nog mooier om met een multi view te doen.. in de ene view de data opvragen.. in de andere view laten weergeven en de oplaan/verstuurknop maken
Ker_Plunkwoensdag 28 juli 2010 @ 15:29
quote:
Op woensdag 28 juli 2010 14:39 schreef Giem het volgende:
Mmm eigenlijk is het nog mooier om met een multi view te doen.. in de ene view de data opvragen.. in de andere view laten weergeven en de oplaan/verstuurknop maken
Ja , dat leek mij ook mooi. Kreeg het niet helemaal voor elkaar,…

Heb het volgende gedaan: voor elke txtbox een sessie gemaakt, deze inladen bij de tweede pagina en vervolgens deze aan de txtboxes gekoppeld en literals tonen het dan uiteindelijk.
Enigste nadeel hiervan is dat de txtboxes ook op de tweede pagina moeten staan, heb er maar een panel omheen gezet en panel1.Visible = False.

Misschien niet heel netjes maar het werkt :P
Cryothicvrijdag 30 juli 2010 @ 00:24
zijn er hier mensen die verstand hebben van de Picasa API via de atom-feed?
Ik probeer m'n albums op te halen, maar krijg een 403 forbidden.

m'n code:
1
2
3
4
5
6
7
8
9
10
11
12
13
XmlUrlResolver resolver = new XmlUrlResolver();
        resolver.Credentials = new NetworkCredential("**********", "**********");

        XmlReaderSettings settings = new XmlReaderSettings();
        settings.XmlResolver = resolver;

        XmlReader reader = XmlReader.Create("http://picasaweb.google.com/data/feed/api/user/cryothic?kind=album&access=private", settings);
        SyndicationFeed feed = SyndicationFeed.Load(reader);

        foreach (var item in feed.Items)
        {
            Response.Write(item.Title.Text + "<br />");
        }
Tuvai.netvrijdag 30 juli 2010 @ 00:35
quote:
Op vrijdag 30 juli 2010 00:24 schreef Cryothic het volgende:
zijn er hier mensen die verstand hebben van de Picasa API via de atom-feed?
Ik probeer m'n albums op te halen, maar krijg een 403 forbidden.

m'n code:
[ code verwijderd ]


Niet echt ervaring mee, maar ik zie dat je met standaard System.XML functies de boel probeert op te halen, terwijl de API insinueert dat je toch echt een paar libraries dient te gebruiken: http://code.google.com/in(...).html#GettingStarted
Cryothicvrijdag 30 juli 2010 @ 21:37
quote:
Op vrijdag 30 juli 2010 00:35 schreef Tuvai.net het volgende:

[..]

Niet echt ervaring mee, maar ik zie dat je met standaard System.XML functies de boel probeert op te halen, terwijl de API insinueert dat je toch echt een paar libraries dient te gebruiken: http://code.google.com/in(...).html#GettingStarted
Ja, maar zoals je helemaal boven aan de pagina, aan links kunt zien is die documentatie voor Versie 1.0 van de API.
Versie 2.0 is de current, en die gebruikt ATOM
raptorixvrijdag 30 juli 2010 @ 21:48
Volgens mij moet je ff zoeken op manier hoe je RSS feeds uitleest in C# werkt volgens mij niet veel anders en vind je vast wel veel samples.
Cryothicvrijdag 30 juli 2010 @ 21:52
Ik kan al m'n foto's uitlezen.
Dat is het probleem niet.

Het probleem zit hem in de public/private albums.
De public albums haalt ie probleemloos op.
Alleen op t moment dat ik private albums op wil halen komt dus die 403 :(

Misschien moet ik het bij die oude library voor 1.0 houden... maar het moet toch gewoon mogelijk zijn?
Tuvai.netvrijdag 30 juli 2010 @ 22:20
quote:
Op vrijdag 30 juli 2010 21:52 schreef Cryothic het volgende:
Ik kan al m'n foto's uitlezen.
Dat is het probleem niet.

Het probleem zit hem in de public/private albums.
De public albums haalt ie probleemloos op.
Alleen op t moment dat ik private albums op wil halen komt dus die 403 :(

Misschien moet ik het bij die oude library voor 1.0 houden... maar het moet toch gewoon mogelijk zijn?
Euh, kan aan mij liggen, maar op 't moment dat je iets middels RSS / ATOM gaat klaarzetten om uitgelezen te worden, kan iedereen er als het ware bij. Lijkt mij niet meer dan logisch dat albums die je als 'private' zijnde kenmerkt, niet uitgelezen kunnen worden in een dergelijke feed. :)
Cryothicvrijdag 30 juli 2010 @ 22:34
Ja, dat dacht ik ook.
Maar kennelijk kan je via authentication er toch bij.
Althans, dat zou moeten.

1private      Shows only private data.      Requires authentication. Only the owner can specify this value.
NikkelCobaltvrijdag 30 juli 2010 @ 22:54
Is dat niet omdat het google systeem wil dat je inlogt via hun "ClientLogin" en dus vooraf via een POST request moet authenticaten en vervolgens de sleutel die je hierbij krijgt mee moet sturen in je in de request die de XML ophaalt?

Die credentials voor zo'n XmlResolver (resolver.Credentials = new NetworkCredential(..)) zijn voor andere echte http authenticatie lijkt me.

http://code.google.com/ap(...)e_protocol.html#Auth
Cryothicvrijdag 30 juli 2010 @ 23:39
Ja, dat zou nog kunnen.
Maar ik kom dan weer nergens tegen hoe ik de verkregen AuthKey mee geef in m'n xml request.
Al die voorbeeld code die ik tegen kom, maakt niet gebruik van de nieuwe XmlReaders

Misschien is het ook gewoon te laat hiervoor :P
NikkelCobaltzaterdag 31 juli 2010 @ 00:35
Je kunt gewoon een WebRequest doen (of afgeleide daarvan) en dan via een

XmlDocument doc = new XlmDocument();
doc.LoadXml(<hier je opgehaalde xml code>);*

dat behandelen.

(LoadXml was uit mn hoofd, kon ook wel LoadString ofzo zijn).
Tarabasszaterdag 31 juli 2010 @ 09:06
Ik wil graag vanaf een sql-server (via sp of trigger?) een webservice aanroepen. De situatie is nu zo dat de webservice elke zoveel seconde praat tegen de database wat een vorm van overkill is. Ik wil op het moment dat er een record aan een bepaalde tabel wordt toegevoegd dat de webservice hiernaar luistert. Wie weet een leuke interessante tutorial om dit te bewerkstelligen?
OEMzaterdag 31 juli 2010 @ 09:39
quote:
Op zaterdag 31 juli 2010 09:06 schreef Tarabass het volgende:
Ik wil graag vanaf een sql-server (via sp of trigger?) een webservice aanroepen. De situatie is nu zo dat de webservice elke zoveel seconde praat tegen de database wat een vorm van overkill is. Ik wil op het moment dat er een record aan een bepaalde tabel wordt toegevoegd dat de webservice hiernaar luistert. Wie weet een leuke interessante tutorial om dit te bewerkstelligen?
Microsoft Sql Server 2005+ ? Dan kun je gewoon een CLR sp/trigger maken. Zie bv. http://davidhayden.com/blog/dave/archive/2006/04/25/2924.aspx

(ik zou zelf het aanroepen van de webservice niet in de database doen, maar ergens in je proceslogica cq businesslogica. Afhankelijk van wat die webservice doet lijkt me zelfs het pollingmechanisme me nog beter)
Tarabasszaterdag 31 juli 2010 @ 10:18
quote:
Op zaterdag 31 juli 2010 09:39 schreef OEM het volgende:

[..]

Microsoft Sql Server 2005+ ? Dan kun je gewoon een CLR sp/trigger maken. Zie bv. http://davidhayden.com/blog/dave/archive/2006/04/25/2924.aspx

(ik zou zelf het aanroepen van de webservice niet in de database doen, maar ergens in je proceslogica cq businesslogica. Afhankelijk van wat die webservice doet lijkt me zelfs het pollingmechanisme me nog beter)
Thx voor de link, ik heb hem gelezen en ga het eens proberen.

Vanuit de database lijkt me centraler. Anders moet ik door de gehele applicatie de service aanroepen bij het updaten/inserten/deleten van een record uit de tabel. De tabel is een soort logtabel waarin gebeurtenissen vastgelegd worden. De webservice moet aan de hand van een nieuw record (gebeurtenis) een xml teruggeven die ik weer uitlees. Bij het aanroepen van de webservice van BL kan ik net zo goed de webservice ertussen uit laten toch? Of kijk je er anders tegenaan? :)

De bedoeling is overigens dat de ene gebruiker te zien krijgt wat een andere gebruiker gedaan heeft. Puur hypothetisch; gebruiker 1 maakt een gebruiker aan in het systeem. Gebruiker 2 krijgt visueel te zien dat gebruiker 1 een gebruiker heeft aangemaakt (met uitgebreide info natuurlijk :9 ). Op deze manier leek het me handig dat ik én log én die tabel direct gebruik voor auditional info..

[ Bericht 9% gewijzigd door Tarabass op 31-07-2010 10:23:02 ]
OEMzaterdag 31 juli 2010 @ 10:39
quote:
Op zaterdag 31 juli 2010 10:18 schreef Tarabass het volgende:

[..]

Thx voor de link, ik heb hem gelezen en ga het eens proberen.

Vanuit de database lijkt me centraler. Anders moet ik door de gehele applicatie de service aanroepen bij het updaten/inserten/deleten van een record uit de tabel. De tabel is een soort logtabel waarin gebeurtenissen vastgelegd worden. De webservice moet aan de hand van een nieuw record (gebeurtenis) een xml teruggeven die ik weer uitlees. Bij het aanroepen van de webservice van BL kan ik net zo goed de webservice ertussen uit laten toch? Of kijk je er anders tegenaan? :)

De bedoeling is overigens dat de ene gebruiker te zien krijgt wat een andere gebruiker gedaan heeft. Puur hypothetisch; gebruiker 1 maakt een gebruiker aan in het systeem. Gebruiker 2 krijgt visueel te zien dat gebruiker 1 een gebruiker heeft aangemaakt (met uitgebreide info natuurlijk :9 ). Op deze manier leek het me handig dat ik én log én die tabel direct gebruik voor auditional info..
Je ziet heel vaak dat er processen geimplementeerd zijn op de manier van:

• systeem 1 doet iets
• systeem 1 trapt systeem 2 af
• systeem 2 doet iets
• systeem 2 trapt systeem 3 af
• enz

Dit creert een ketting van systemen die aan elkaar hangen, wat zo ondoorzichtelijk is als maar kan en dus niet te onderhouden is.

Maar aangezien dit een technisch verhaal is (geen functioneel proces) speelt dat allemaal een stuk minder. Hoewel ik nog steeds het in de BL zou oplossen aangezien je functionele zaken wil loggen ("Aanmaken NIeuwe Gebruiker") ipv iets technisch ("new record in table users", "new record in table user_details", "new record in table user_settings", etc).

Of je nou een voor alles wat je wilt loggen een trigger moet maken/configureren of een extra regel code in je BL maakt niet zo heel veel uit (ervanuitgaande dat je in je BL een mooie functie CreateNewUser hebt). In de BL is deploymenttechnisch eenvoudiger t.o.v. CLR dll's in je db.

Zo kijk ik er een beetje tegenaan. Maarrrr... CLR in de database moet je een keer gedaan hebben, dus gewoon doen :)
OEMzaterdag 31 juli 2010 @ 11:02
quote:
Op vrijdag 30 juli 2010 23:39 schreef Cryothic het volgende:
Ja, dat zou nog kunnen.
Maar ik kom dan weer nergens tegen hoe ik de verkregen AuthKey mee geef in m'n xml request.
Al die voorbeeld code die ik tegen kom, maakt niet gebruik van de nieuwe XmlReaders

Misschien is het ook gewoon te laat hiervoor :P
De (network)credentials die je toekent aan die XmlResolver object wordt gebruikt om aan te kloppen bij de server aan de andere kant voordat er ook maar iets inhoudelijks gebeurt met je bericht. Bij private en public albums praat je met een service die alles doorlaten bij het aankloppen. Het meegeven van networkcredentials is dus nutteloos. Daarna wordt er gekeken in het bericht wat je wil doen:

Public album? Geen probleem.
Private album? dan moet er ook een authentication token in je bericht zitten.

Dus wat betreft de XmlResolver classes:

public album: everything goes, dus de XmlResolver-classes werken gewoon
private album: je zal eerst een sessie moeten starten via ClientLogin, en daarna de token die je krijgt elke keer meegeven. Dat is allemaal niet standaard, dus werken de XmlResolver classes niet meer. Dus je zal toch echt zelf twee webrequests moeten implementeren (zoald eerder iemand al gemeld heeft). Die kun je daarna evt ook gebruiken in het public geval.
OEMzaterdag 31 juli 2010 @ 11:15
quote:
Op vrijdag 30 juli 2010 00:24 schreef Cryothic het volgende:
Ik probeer m'n albums op te halen, maar krijg een 403 forbidden.
Nog even als toeveoging op mijn vorige reactie:

Als je networkcredentials niet geaccepteerd zouden worden, dan zou je een 401-NotAuthorized krijgen. In dit geval ben je wel authorized (want credentials doen er niet toe), maar zonder token mag je de data niet zien, en dus krijg je een 403-Forbidden.
raptorixzaterdag 31 juli 2010 @ 14:45
Wat betreft die picassa, daar heb ik geen ervaring mee, maar heb wel ervaring met uitlezen google analytics api, en daar moet je idd een post doen om een credential key te krijgen, die je vervolgens kan gebruiken om via rest de data uit te lezen.
raptorixzaterdag 31 juli 2010 @ 14:46
Zijn er overigens nog meer Umbraco gebruikers hier? Echt heerlijk systeem, gebruik het al vele jaren, en op het werk hebben we al ruim 10 implementaties gedaan, ben in mei ook level 2 gecertificeerd :)
Cryothiczaterdag 31 juli 2010 @ 15:22
quote:
Op zaterdag 31 juli 2010 11:02 schreef OEM het volgende:

[..]

De (network)credentials die je toekent aan die XmlResolver object wordt gebruikt om aan te kloppen bij de server aan de andere kant voordat er ook maar iets inhoudelijks gebeurt met je bericht. Bij private en public albums praat je met een service die alles doorlaten bij het aankloppen. Het meegeven van networkcredentials is dus nutteloos. Daarna wordt er gekeken in het bericht wat je wil doen:

Public album? Geen probleem.
Private album? dan moet er ook een authentication token in je bericht zitten.

Dus wat betreft de XmlResolver classes:

public album: everything goes, dus de XmlResolver-classes werken gewoon
private album: je zal eerst een sessie moeten starten via ClientLogin, en daarna de token die je krijgt elke keer meegeven. Dat is allemaal niet standaard, dus werken de XmlResolver classes niet meer. Dus je zal toch echt zelf twee webrequests moeten implementeren (zoald eerder iemand al gemeld heeft). Die kun je daarna evt ook gebruiken in het public geval.
Ah, dat maakt het wel duidelijker, en logischer idd.
Ik zal dat binnenkort eens proberen.
Dank je wel
Cryothicmaandag 2 augustus 2010 @ 10:14
Zo, even een soort van Best Practice vraag.

Het verhaal:
Ik haal bij picasa een lijst op van m'n fotoalbums.
Vervolgens sla ik die op in een tabel in m'n database, met daarbij een flag of ie wel of niet getoond mag worden op m'n website.

Nou wil ik, dat als ik later opnieuw ga syncen, uit m'n database een lijst van alle albums (zodat ik wijzigingen kan checken, en kan kijken of ze wel of niet gepubliceerd staan).

Wat is nou het beste object om deze lijst in op te slaan?
Ik zit zelf te denken aan een GenericList.
Hierin kan ik een verzameling "album-objecten" in opslaan, en deze is tevens m.b.v. FindIndex te doorzoeken. (als ik m'n lijst uit de picasa-xml uitlees, kan ik dan snel op ID achterhalen in m'n eigen lijst of een album bijvoorbeeld gepubliceerd is).

Of is hier een beter object voor?
OEMmaandag 2 augustus 2010 @ 11:18
quote:
Op maandag 2 augustus 2010 10:14 schreef Cryothic het volgende:
Zo, even een soort van Best Practice vraag.

Het verhaal:
Ik haal bij picasa een lijst op van m'n fotoalbums.
Vervolgens sla ik die op in een tabel in m'n database, met daarbij een flag of ie wel of niet getoond mag worden op m'n website.

Nou wil ik, dat als ik later opnieuw ga syncen, uit m'n database een lijst van alle albums (zodat ik wijzigingen kan checken, en kan kijken of ze wel of niet gepubliceerd staan).

Wat is nou het beste objec
Dictionaryt om deze lijst in op te slaan?
Ik zit zelf te denken aan een GenericList.
Hierin kan ik een verzameling "album-objecten" in opslaan, en deze is tevens m.b.v. FindIndex te doorzoeken. (als ik m'n lijst uit de picasa-xml uitlees, kan ik dan snel op ID achterhalen in m'n eigen lijst of een album bijvoorbeeld gepubliceerd is).

Of is hier een beter object voor?
Klinkt alsof System.Collection.Generic.Dictionary nodig hebt.

Best practice is om je code eerst zo "mooi" mogelijk te maken (=onderhoudbaar), en daarna pas gaan optimaliseren voor performance.
Cryothicmaandag 2 augustus 2010 @ 11:53
Maar voor een dictionary moet ik het dan opslaan als:

Generic.Dictionary[ album_id, album_object]

terwijl het ID ook al in het object zelf zit.
Al is dit met uitlezen misschien wel weer sneller dan de find-optie van een list.
HenryHillmaandag 2 augustus 2010 @ 22:27
quote:
Op maandag 2 augustus 2010 11:53 schreef Cryothic het volgende:
Maar voor een dictionary moet ik het dan opslaan als:

Generic.Dictionary[ album_id, album_object]

terwijl het ID ook al in het object zelf zit.
Dat klopt, en dat is niet erg: je albums worden geindexeerd op album_id (door middel van een hashtable), zodat het opzoeken van een album bij een bepaald id niet tot gevolg heeft dat de hele lijst van albums doorlopen hoeft te worden - de dictionary weet meteen waar hij heen moet springen.

Als je LINQ gebruikt: IEnumerable<T> heeft zelfs een speciale extension method om een collectie te indexeren op 1 bepaalde property van een object, waardoor je het volgende zou kunnen schrijven:
1
2
List<Album> albums = new List<Album>;
Dictionary<int, Album> dict = albums.ToDictionary(elt => elt.ID);
quote:
Al is dit met uitlezen misschien wel weer sneller dan de find-optie van een list.
In theorie wel in ieder geval. In de praktijk ligt het kantelpunt geloof ik op 10 elementen (bij meer dan 10 elementen is een dictionary sneller, bij minder zou een gelinkte lijst sneller moeten zijn).

Maar ik zou altijd voor de dictionary gaan, bij minder dan 10 elementen zijn beide oplossingen "ongeveer even snel", terwijl bij meer de dictionary veel sneller is.
Cryothicdinsdag 3 augustus 2010 @ 09:04
Tja, bij het synchronizeren kom ik langs alle albums, dat zijn er (in m'n eerste account) 88.
Dus dan gaat een dictionary dat wel winnen ja.

Of ik Linq ga gebruiken weet ik nog niet.
Daar ben ik niet in thuis. 1x gebruikt voor een Twitter-feed op m'n site.
Op m'n werk wordt het iig ontmoedigd, maar het is me niet helemaal duidelijk waarom. Zal wel persoonlijke smaak zijn.

Dank je wel in ieder geval
Tuvai.netdinsdag 3 augustus 2010 @ 09:53
quote:
Op dinsdag 3 augustus 2010 09:04 schreef Cryothic het volgende:
Tja, bij het synchronizeren kom ik langs alle albums, dat zijn er (in m'n eerste account) 88.
Dus dan gaat een dictionary dat wel winnen ja.

Of ik Linq ga gebruiken weet ik nog niet.
Daar ben ik niet in thuis. 1x gebruikt voor een Twitter-feed op m'n site.
Op m'n werk wordt het iig ontmoedigd, maar het is me niet helemaal duidelijk waarom. Zal wel persoonlijke smaak zijn.

Dank je wel in ieder geval
LINQ vind ik handig voor op een klein website`je, effe snel wat data op te halen uit een database en hier met behulp van IntelliSense gemakkelijk iets mee doen. Voor de wat grotere projecten maak ik toch sowieso zelf mijn eigen object classes en data layer. Overigens ben ik een voorstander van data die al zo gebruiksklaar mogelijk uit een database komt, in plaats van eerst een rommelige, ongesorteerde resultset op te halen en hier pas in de applicatie van alles mee doen. :)
Cryothicdinsdag 3 augustus 2010 @ 10:14
Gewoon een non-sql database :)

Las daar van de week iets over op webwereld. CouchDB enzo, maar das apache.
Kwam wel RavenDB tegen, dat klinkt ook wel interessant.
Tuvai.netdinsdag 31 augustus 2010 @ 10:16
Ik ben momenteel even aan een klein freelance project aan het 'bijspringen'. Het grove 'frame' van de applicatie stond er al en er moet nu van alles ingebouwd worden. Ik ondersteun een team van 3 developers. Nu werken deze developers allemaal met het Entity framework, en is mij gevraagd om daar ook zo veel mogelijk rekening mee te houden. Geen probleem hoor, ik pas me wel aan.

Maar tering, wat een rotzooi. :') Kan met niet voorstellen dat mensen dat hele Entity en LINQ-to-SQL / LINQ-to-object gebeuren fijn vinden werken. Okee, je maakt ongelooflijk snel d.m.v. een ADO.NET Entity model een soort van DAL en je hebt meteen interactie met je database. Maar ik ben er echt geen voorstander van om in uiteindelijke WebForms pas de 'queries' samen te stellen. Doet me een beetje denken aan mijn PHP 3.0 tijdperk. ;( Sowieso die 'queries'. :{

Liever heb ik Database -> DAL -> meerdere BLL's -> Presentatie.
NikkelCobaltdinsdag 31 augustus 2010 @ 11:00
Wat houdt je tegen een repository te schrijven? Dat is gewoon je DAL (in dit opzicht, niet letterlijk). Voordeel van een repository is dat je ook nog een speciale implementatie van je repository (repository is meestal een interface) kan maken die niet van een database gebruik maakt maar gewoon hardcoded data teruggeeft. Voor het testen dus.

Dus dan heb je het volgende:

Database -> ORM/DAL LINQtoSQL/EF -> Repository-> BLL -> Presentatie
Database -> SQL -> DAL -> Repository -> BLL -> Presentatie
Catbertdinsdag 31 augustus 2010 @ 11:04
quote:
Op dinsdag 31 augustus 2010 11:00 schreef NikkelCobalt het volgende:
Wat houdt je tegen een repository te schrijven?
Wat hem tegenhoudt zijn waarschijnlijk die andere developers die fijn vanuit de presentatielaag in de datalaag zitten te frutten.
Tuvai.netdinsdag 31 augustus 2010 @ 13:44
quote:
Op dinsdag 31 augustus 2010 11:04 schreef Catbert het volgende:

[..]

Wat hem tegenhoudt zijn waarschijnlijk die andere developers die fijn vanuit de presentatielaag in de datalaag zitten te frutten.
Dat inderdaad. :) Veel 'gelaagdheid' komt er niet bij kijken in dit geval. :P

En NikkelCobalt, dat is inderdaad ook een idee. Dan ben ik echter nog meer werk aan het verrichten dan wat ik normaal altijd doe en derhalve ontgaat mij het nut een beetje van deze methoden met LinQ / Entity. :) Ook het 'na proberen te bootsen' van échte SQL queries vind ik erg omslachtig, vooral in geval van LIKE en OR operators. Om nog maar te zwijgen over de optimalisatie van de uiteindelijke SQL queries. :P
Fortitudedinsdag 31 augustus 2010 @ 19:15
quote:
Op dinsdag 31 augustus 2010 13:44 schreef Tuvai.net het volgende:

[..]

Dat inderdaad. :) Veel 'gelaagdheid' komt er niet bij kijken in dit geval. :P

En NikkelCobalt, dat is inderdaad ook een idee. Dan ben ik echter nog meer werk aan het verrichten dan wat ik normaal altijd doe en derhalve ontgaat mij het nut een beetje van deze methoden met LinQ / Entity. :) Ook het 'na proberen te bootsen' van échte SQL queries vind ik erg omslachtig, vooral in geval van LIKE en OR operators. Om nog maar te zwijgen over de optimalisatie van de uiteindelijke SQL queries. :P
Jij hebt het wel over het weakly-typed LINQ taaltje. Je hebt ook nog (Lambda) Expressies waarmee je dan strongly-typed kan query'en. Met alle voordelen daarvan.

Overigens zijn de LINQ to SQL query's volgens mij nog wel aardig. Maar die van Entity Framework 1 zijn soms lachwekkend slecht. Nulls met nulls vergelijken en tabellen erbij halen die er niks mee te maken hebben. :')

Voor de wat simpelere / kleinere projecten vind ik het wel aardig. Bij serieuze projecten zet ik er ook mijn vraagtekens bij. Maar het zou vast wel richting de kant van de betere ORM's op gaan, en die worden toch al in veel serieuze applicaties / websites gebruikt.

Wat ook wel leuk aan LINQ is dat je niet alleen databases kan query'en, maar ook bv. een List.
Tuvai.netdinsdag 31 augustus 2010 @ 21:14
Nope, met die Strong Typed versie inclusief Lambda Expressions ben ik ook bezig. :) Maar ik vind het nog steeds vrij omslachtig. Om een heel goed voorbeeld te noemen: Ik heb een heel groot overzicht (een GridView) met een heleboel velden daarin, en op vrijwel al die velden kan 'gefilterd' worden. Die filters en de daarmee corresponderende velden bestaan uit allerlei DropdownLists, Textboxes, Checkboxes, enzovoorts. Nu heb ik om die GridView te vullen altijd het volgende stukje code (effe namen aangepast voor duidelijkheid):

1
2
3
4
5
MijnEntities Entities = new MijnEntities();
IQueryable<Dinges> ResultsetQuery = from tDinges in Entities.Dinges
                                    where tDinges.Veld1 == StrongTypedWaarde1
                                    where tDinges.Veld2 == StrongTypedWaarde2
                                    select tDinges;
Oftewel een paar dingen kan ik in deze 'where clausules' al verwerken, met name de filters/selecties die altijd van toepassing zijn. Maar om bijvoorbeeld al die variabele filterwaarden er in te verwerken, krijg ik allemaal stukjes code als volgt:

1
2
3
4
5
if (!String.IsNullOrEmpty(TextboxVoorFilter3.Text))
{ ResultsetQuery = ResultsetQuery.Where(tDinges => tDinges.Veld3.Contains(TextboxVoorFilter3.Text)); }

if (!String.IsNullOrEmpty(TextboxVoorFilter4.Text))
{ ResultsetQuery = ResultsetQuery.Where(tDinges => tDinges.Veld4.Contains(TextboxVoorFilter4.Text)); }
Terwijl ik met mijn normale methode (dus SQL -> DAL -> BLL -> Presentatie) in mijn BL-classes allerlei static methods klaar zet waarmee allerlei selecties en filters verricht kunnen worden, denk dan aan methoden als:

1Dinges EenDing = GetDingesByFilterX(... Filter)
1List<Dinges> Lijstje = GetAllDingesen(... Filter1, ...Filter2, ...Filter 3)
Maar goed, voor kleine projectjes zal dit inderdaad handig zijn om snel interactie met je database te hebben vanuit je applicatie. Maar voor grotere projecten zou ik nooit voor een dergelijke aanpak kiezen.
OEMwoensdag 1 september 2010 @ 12:44
Complexe where-clauses kunnen toch ook gewoon in linq?

1
2
3
4
5
6
7
8
9
10
from x in items
where matches(filter1, x.Veld1)
where matches(filter2, x.Veld2)
...
select x

bool matches(string filter, string value)
{
  return string.IsNullOrEmpty(filter) || value.Contrains(filter);
}
Tuvai.netwoensdag 1 september 2010 @ 13:43
quote:
Op woensdag 1 september 2010 12:44 schreef OEM het volgende:
Complexe where-clauses kunnen toch ook gewoon in linq?
[ code verwijderd ]


Mja, noem het een kwestie van smaak, maar ik vind het een heel gedoe allemaal voor simpele handelingen. Ik prefereer liever mijn eigen, kinderlijk eenvoudige methode waar er met een Stored Procedure gecommuniceerd wordt, waar dan weer een SQL query in staat waar ik gewoon LIKE operators e.d. kan gebruiken. :) Om nog maar te zwijgen over het feit dat mijn codebehinds en BLLS nu bulken van 'Queries' en Lambda Expressions'. Mij is geleerd om databasezaken in de database te houden.

Ook zullen er straks veel dingen in dit project gedaan moeten worden waar normaliter echt 'Dynamic SQL' voor gebruikt wordt, en zal er met Cross Database Queries gewerkt moeten worden. Daar zie ik erg tegenop met LINQ / Entity Framework. :{

[ Bericht 7% gewijzigd door Tuvai.net op 01-09-2010 13:52:59 ]
NikkelCobaltwoensdag 1 september 2010 @ 15:11
Volgens mij geef je zelf al deels het antwoord op je problemen: meer gebruik maken van de database: Aan views en functies gedacht? Die herkent LINQtoSQL namelijk gewoon.

En verder denk ik dat je gewoonweg te weinig met LINQ hebt gedaan om er iets zinnigs over te zeggen. Situaties die je oplost met directe queries kun je net zo goed oplossen met LINQ(tosql).

Absoluut zijn er situaties waarin LINQ minder goed van toepassing is, maar de situaties die jij beschrijft noem ik niet direct problematisch. Het kostte mij overigens ook wel tijd om LINQ en LINQtoSQL onder de knie te krijgen

Om nog even een concreet te noemen: ik heb nu in een project (op LINQtoSQL) ook iemand meegemaakt die nog nooit van LINQ heeft gehoord. ASP.NET classic project was het, en die ging lekker allemaal stored procedures maken ipv een LinqDataSource gebruiken. Daar word ik dan weer wat minder vrolijk van :')

Wat ik overigens erg leuk vind aan LINQtoSQL is de databasereflectie die je standaard kunt doorlopen. (Hoewel de gebruikssituatie wel weer vrij specifiek is)
OEMwoensdag 1 september 2010 @ 15:57
quote:
Op woensdag 1 september 2010 15:11 schreef NikkelCobalt het volgende:
Volgens mij geef je zelf al deels het antwoord op je problemen: meer gebruik maken van de database: Aan views en functies gedacht? Die herkent LINQtoSQL namelijk gewoon.

En verder denk ik dat je gewoonweg te weinig met LINQ hebt gedaan om er iets zinnigs over te zeggen. Situaties die je oplost met directe queries kun je net zo goed oplossen met LINQ(tosql).

Absoluut zijn er situaties waarin LINQ minder goed van toepassing is, maar de situaties die jij beschrijft noem ik niet direct problematisch. Het kostte mij overigens ook wel tijd om LINQ en LINQtoSQL onder de knie te krijgen

Om nog even een concreet te noemen: ik heb nu in een project (op LINQtoSQL) ook iemand meegemaakt die nog nooit van LINQ heeft gehoord. ASP.NET classic project was het, en die ging lekker allemaal stored procedures maken ipv een LinqDataSource gebruiken. Daar word ik dan weer wat minder vrolijk van :')

Wat ik overigens erg leuk vind aan LINQtoSQL is de databasereflectie die je standaard kunt doorlopen. (Hoewel de gebruikssituatie wel weer vrij specifiek is)
Ik denk dat ie exact de essentie door heeft. Als je linq2sql gaat gebruiken in de presentatielaag wordt het een grote ellende die we nog kennen van sql queries in pagina's of de datasets variant ervan (1 op 1 kopieen van tabellen).

Linq is best handig, maar linq2sql hoort in je dal thuis, niet in je gui

.
Core2woensdag 1 september 2010 @ 16:46
quote:
Op dinsdag 31 augustus 2010 21:14 schreef Tuvai.net het volgende:
Nope, met die Strong Typed versie inclusief Lambda Expressions ben ik ook bezig. :) Maar ik vind het nog steeds vrij omslachtig. Om een heel goed voorbeeld te noemen: Ik heb een heel groot overzicht (een GridView) met een heleboel velden daarin, en op vrijwel al die velden kan 'gefilterd' worden. Die filters en de daarmee corresponderende velden bestaan uit allerlei DropdownLists, Textboxes, Checkboxes, enzovoorts. Nu heb ik om die GridView te vullen altijd het volgende stukje code (effe namen aangepast voor duidelijkheid):
[ code verwijderd ]

Oftewel een paar dingen kan ik in deze 'where clausules' al verwerken, met name de filters/selecties die altijd van toepassing zijn. Maar om bijvoorbeeld al die variabele filterwaarden er in te verwerken, krijg ik allemaal stukjes code als volgt:
[ code verwijderd ]

1
2
3
4
5
MijnEntities Entities = new MijnEntities();
IQueryable<Dinges> ResultsetQuery = from tDinges in Entities.Dinges
                                    where (StrongTypedWaarde1 == null || tDinges.Veld1 == StrongTypedWaarde1 )
                                    where (StrongTypedWaarde2 == null || tDinges.Veld2 == StrongTypedWaarde2 )
                                    select tDinges;
Zo?
Core2woensdag 1 september 2010 @ 16:50
Persoonlijk kies ik voor views wanneer LINQ queries te lang worden trouwens :). Ook horen ze inderdaad thuis in de DAL (of een repository). Wel oppassen voor deferred execution.
Tuvai.netwoensdag 1 september 2010 @ 20:48
quote:
Op woensdag 1 september 2010 15:11 schreef NikkelCobalt het volgende:
Volgens mij geef je zelf al deels het antwoord op je problemen: meer gebruik maken van de database: Aan views en functies gedacht? Die herkent LINQtoSQL namelijk gewoon.

En verder denk ik dat je gewoonweg te weinig met LINQ hebt gedaan om er iets zinnigs over te zeggen. Situaties die je oplost met directe queries kun je net zo goed oplossen met LINQ(tosql).

Absoluut zijn er situaties waarin LINQ minder goed van toepassing is, maar de situaties die jij beschrijft noem ik niet direct problematisch. Het kostte mij overigens ook wel tijd om LINQ en LINQtoSQL onder de knie te krijgen

Om nog even een concreet te noemen: ik heb nu in een project (op LINQtoSQL) ook iemand meegemaakt die nog nooit van LINQ heeft gehoord. ASP.NET classic project was het, en die ging lekker allemaal stored procedures maken ipv een LinqDataSource gebruiken. Daar word ik dan weer wat minder vrolijk van :')

Wat ik overigens erg leuk vind aan LINQtoSQL is de databasereflectie die je standaard kunt doorlopen. (Hoewel de gebruikssituatie wel weer vrij specifiek is)
Ik ben ben inderdaad geen meester als het op LINQ aankomt nee, maar ik heb er genoeg van gezien en mee geklooid om er een oordeel over te scheppen. Het hele LINQ gebeuren is voor mij gewoon een ander werkwijze voor iets dat ik al jarenlang op een, in mijn mening veel mooiere en snellere, eigen manier doe. Ik ben het de afgelopen 2 dagen actief aan het gebruiken en heb eens voor te proberen op een kopie van een eigen project alles functioneel omgezet van mijn eigen methode naar LINQ. De Codebehinds van mijn WebForms zijn nu afzichtelijk en groot, en het ophalen van gegevens duurt gewoon langer (weliswaar nog maar milliseconden op duizenden records, maar toch). De hele manier van werken met LINQ e.d. spreekt mij gewoon niet aan. Als ik met LINQ werk krijg ik een beetje het gevoel dat de database een ruwe blok met platte gegevens is, waarvan ik de eindjes pas op applicatieniveau aan elkaar begin te knopen. :{

Ik vind het mooi hoe je met ADO.NET Entities d.m.v. een paar keer 'Volgende' klikken een heel model met daarin meerdere 'Business Objects' kunt genereren in een paar seconden tijd. Voor een klein website`je met een gastenboek waar ik alleen een tabel met reacties uit hoef te lezen, lijkt LINQ mij ideaal. Maar voor grote applicaties waar vaak met relationele data wordt gewerkt en je soms wel tot 6 niveau's diep moet 'joinen' in je queries, vind ik het onpraktisch. De hele manier van het aanspreken / benaderen / ophalen / koppelen van de Entities vind ik gewoon lomp.
Core2woensdag 1 september 2010 @ 21:40
quote:
Op woensdag 1 september 2010 20:48 schreef Tuvai.net het volgende:

[..]

Ik ben ben inderdaad geen meester als het op LINQ aankomt nee, maar ik heb er genoeg van gezien en mee geklooid om er een oordeel over te scheppen. Het hele LINQ gebeuren is voor mij gewoon een ander werkwijze voor iets dat ik al jarenlang op een, in mijn mening veel mooiere en snellere, eigen manier doe. Ik ben het de afgelopen 2 dagen actief aan het gebruiken en heb eens voor te proberen op een kopie van een eigen project alles functioneel omgezet van mijn eigen methode naar LINQ. De Codebehinds van mijn WebForms zijn nu afzichtelijk en groot, en het ophalen van gegevens duurt gewoon langer (weliswaar nog maar milliseconden op duizenden records, maar toch). De hele manier van werken met LINQ e.d. spreekt mij gewoon niet aan. Als ik met LINQ werk krijg ik een beetje het gevoel dat de database een ruwe blok met platte gegevens is, waarvan ik de eindjes pas op applicatieniveau aan elkaar begin te knopen. :{

Ik vind het mooi hoe je met ADO.NET Entities d.m.v. een paar keer 'Volgende' klikken een heel model met daarin meerdere 'Business Objects' kunt genereren in een paar seconden tijd. Voor een klein website`je met een gastenboek waar ik alleen een tabel met reacties uit hoef te lezen, lijkt LINQ mij ideaal. Maar voor grote applicaties waar vaak met relationele data wordt gewerkt en je soms wel tot 6 niveau's diep moet 'joinen' in je queries, vind ik het onpraktisch. De hele manier van het aanspreken / benaderen / ophalen / koppelen van de Entities vind ik gewoon lomp.
LINQ to entities is even wennen, maar ik vind het juist een mooie manier om tegen je database aan te programmeren. Er wordt een conceptueel model van je database gegenereerd, dat houdt bijvoorbeeld in dat meer op meer relaties geabstraheerd worden. Ook subtypes/overerving in je database wordt netjes afgehandeld. Verder kun je ook gebruik maken van code templates, waarbij je heel makkelijk code kunt genereren op basis van de metadata van je database :)
NikkelCobaltvrijdag 3 september 2010 @ 19:11
quote:
Op woensdag 1 september 2010 20:48 schreef Tuvai.net het volgende:
Maar voor grote applicaties waar vaak met relationele data wordt gewerkt en je soms wel tot 6 niveau's diep moet 'joinen' in je queries, vind ik het onpraktisch.
Ja en m.i. zit daar je denkfout. LINQ betekend niet dat je al het werk van de database door je .NET applicatie moet laten oplossen.

Je kunt die 6 niveau diepe join query gewoon in een stored procedure/view/functie stoppen. Als jij ontzettend veel variabele parameters hebt wordt het een ander verhaal maar dan moet je sowieso veel code schrijven, ook zonder LINQ.

Ik vind overigens de uitbreidbaarheid en flexibiliteit van Entity Framework een beetje tegenvallen tov LINQ. De queries daarentegen zijn wel mooier, dit vind ik het grootste nadeel van LINQ. Maar dat is goed op te vangen met diezelfde views/sp's /functions.
Tuvai.netvrijdag 3 september 2010 @ 20:19
quote:
Op vrijdag 3 september 2010 19:11 schreef NikkelCobalt het volgende:
Ja en m.i. zit daar je denkfout. LINQ betekend niet dat je al het werk van de database door je .NET applicatie moet laten oplossen.
LINQ in lokt dat wel een beetje uit vind ik, en veel mensen doen dat ook. Noem me ouderwets, maar ik vind dat mijn database moet dienen als de plek waar alle gegoochel met data plaats moet vinden, en die mij een kant en klare, bruikbare output / resultset retourneert waar ik in mijn applicatie direct mee aan de slag kan. Op databaseniveau gaat dat gewoon sneller en gemakkelijker. Wat ik vaak zie in applicaties die bulken met LINQ, is dat er hele grove resultsets van database naar applicatie geslingerd worden, die vervolgens op applicatieniveau pas gesorteerd, gegroupeerd, gelimiteerd (bijv. ingedeeld in pagina's met een beperkt aantal items) en/of geabstraheerd worden.

Ik bedoel maar, je kunt er zeker mooie applicaties mee maken waar je ook nog goed rekening houdt met snelheid, performance en logica. Maar LINQ spoort mijns inziens wel aan om het toch lekker op de quick 'n dirty manier te doen, omdat het oh zo gemakkelijk is om 'queries' direct tegen je database aan te gooien.

quote:
Op vrijdag 3 september 2010 19:11 schreef NikkelCobalt het volgende:
Je kunt die 6 niveau diepe join query gewoon in een stored procedure/view/functie stoppen.
Dan kan ik net zo goed met mijn eigen DAL class verder gaan die dat al doet.

quote:
Als jij ontzettend veel variabele parameters hebt wordt het een ander verhaal maar dan moet je sowieso veel code schrijven, ook zonder LINQ.
'Dynamic SQL' in Stored Procedures is helemaal niet veel werk. In grove lijnen is het gewoon jouw 'normale' SQL query maar dan in een NVARCHAR variabele gestopt, waar nodig eventuele 'statische' stukken afgevangen met andere variabelen. Ik gebruik dit vooral veel in enterprise systemen waar je één database hebt met applicatiegegevens (gebruikers, rechten, enz.) en per klant / omgeving een database hebt met daadwerkelijke data. In LINQ / met Lambda Expressions is dit aanzienlijk meer werk dan even een query 'dynamisch maken', om nog maar te zwijgen over complexiteit. Maar goed, dat laatste is weer een kwestie van smaak.
NikkelCobaltvrijdag 3 september 2010 @ 21:54
Ik ben hier niet om je wel/niet te overtuigen van LINQ hoor :* Maar ik zou het jammer vinden (nouja, je hebt mij er niet mee natuurlijk :P) als je bepaalde dingen links laat liggen op basis van een eerste indruk.

In grote applicaties gebruik ik zelf liever geen LINQ omdat ik meer controle wil hebben over het aantal queries dat wordt uitgevoerd. Want LINQ gebruiken en de profiler op je database loslaten is als een continue stroom aan overlijdensberichten. ;(

Op internet zijn weinig goede voorbeelden over LINQ te vinden, ben ik met je eens. Maar dat heb je sowieso met .NET en meer geavanceerde zooi. Om nog maar niet te spreken van die Indiërs die complete goochelcode artikelen schrijven. Brrr

quote:
Noem me ouderwets, maar ik vind dat mijn database moet dienen als de plek waar alle gegoochel met data plaats moet vinden, en die mij een kant en klare, bruikbare output / resultset retourneert waar ik in mijn applicatie direct mee aan de slag kan.
Dit pleit overigens toch juist voor LINQ(toSQL)?
Cryothicdinsdag 7 september 2010 @ 22:53
Iemand hier trouwens ervaring met oAuth en Twitter?

Ik heb (lees: had) op m'n site een lijstje met m'n laatste tweets staan.
Simpelweg door Basic Authentication.

Maar nu, sinds half augustus geloof ik, moet je gebruik maken van oAuth.
En zo'n beetje alles wat ik daar over tegen kom, houd in dat je naar de twitter site wordt gestuurd om in te loggen.
Dat is natuurlijk niet de bedoeling.

Ik wil gewoon een lijst met mijn laatste 20 tweets ofzo, en die tonen. Meer niet.
Iemand enig idee hoe ik dat nu aan ga pakken? Of waar ik verder kan zoeken?
HansvDvrijdag 10 september 2010 @ 16:43
quote:
Op vrijdag 3 september 2010 19:11 schreef NikkelCobalt het volgende:

[..]

Ja en m.i. zit daar je denkfout. LINQ betekend niet dat je al het werk van de database door je .NET applicatie moet laten oplossen.

Je kunt die 6 niveau diepe join query gewoon in een stored procedure/view/functie stoppen.
....
Bij sommige projecten zul je zelfs wel moeten.

Ik heb DBAdmins meegemaakt waar ik uitsluitend rechten op views en sprocs kon krijgen. (Wat opzich ook goed te verdedigen is)

Op z'on moment maak ik liever mijn eigen class en laat EF links liggen.

En voor mijn eigen classes heb ik een generator gemaakt met myGeneration dus dat is ook maar een paar tellen werk.
HansvDvrijdag 10 september 2010 @ 16:45
quote:
Op dinsdag 7 september 2010 22:53 schreef Cryothic het volgende:
Iemand hier trouwens ervaring met oAuth en Twitter?

Ik heb (lees: had) op m'n site een lijstje met m'n laatste tweets staan.
Simpelweg door Basic Authentication.

Maar nu, sinds half augustus geloof ik, moet je gebruik maken van oAuth.
En zo'n beetje alles wat ik daar over tegen kom, houd in dat je naar de twitter site wordt gestuurd om in te loggen.
Dat is natuurlijk niet de bedoeling.

Ik wil gewoon een lijst met mijn laatste 20 tweets ofzo, en die tonen. Meer niet.
Iemand enig idee hoe ik dat nu aan ga pakken? Of waar ik verder kan zoeken?
je moet nu oAuth gebruiken als je de api van twitter wilt gebruiken.

Alternatief, maak de juiste zoekopdracht aan en gebruik de rss hiervan om je tweets op je eigen site te zetten.

RSS lees je heel makklijk in met http://aspnetrsstoolkit.codeplex.com/
Tuvai.netvrijdag 10 september 2010 @ 23:16
quote:
Op vrijdag 10 september 2010 16:43 schreef HansvD het volgende:

[..]

Bij sommige projecten zul je zelfs wel moeten.

Ik heb DBAdmins meegemaakt waar ik uitsluitend rechten op views en sprocs kon krijgen. (Wat opzich ook goed te verdedigen is)

Op z'on moment maak ik liever mijn eigen class en laat EF links liggen.

En voor mijn eigen classes heb ik een generator gemaakt met myGeneration dus dat is ook maar een paar tellen werk.
Als ik in teamverband werk, dan geef ik aan een dergelijke werkwijze ook de voorkeur. Iedereen gewoon zijn eigen rol, klaar. Voor kleine projectjes kun je het best permiteren om 'alles' te doen (van front-end tot back-end / database), maar bij grotere projecten met meerdere manusjes van alles te werken, resulteert in een knoeiboel.

Vandaar ook mijn eerdere opmerking; ik ga vanuit applicatie / DAL-niveau graag uit van Stored Procedures e.d. waar ik alleen maar mijn parametertjes naar toe hoef te sturen, en waar alle werk plaats vindt. Werkt doorgaans ook veel sneller en prettiger als je bijvoorbeeld één persoon hebt die de hele database opzet, terwijl een ander de applicatie zelf bouwt en gebruik maakt van de middelen die de databaseontwerper klaar zet. :)
Wijnbozaterdag 11 september 2010 @ 20:54
quote:
Op vrijdag 10 september 2010 23:16 schreef Tuvai.net het volgende:

[..]

Als ik in teamverband werk, dan geef ik aan een dergelijke werkwijze ook de voorkeur. Iedereen gewoon zijn eigen rol, klaar. Voor kleine projectjes kun je het best permiteren om 'alles' te doen (van front-end tot back-end / database), maar bij grotere projecten met meerdere manusjes van alles te werken, resulteert in een knoeiboel.

Vandaar ook mijn eerdere opmerking; ik ga vanuit applicatie / DAL-niveau graag uit van Stored Procedures e.d. waar ik alleen maar mijn parametertjes naar toe hoef te sturen, en waar alle werk plaats vindt. Werkt doorgaans ook veel sneller en prettiger als je bijvoorbeeld één persoon hebt die de hele database opzet, terwijl een ander de applicatie zelf bouwt en gebruik maakt van de middelen die de databaseontwerper klaar zet. :)
En juist dan is linq heel erg handig. Krijg je mooi je strong typed resultaten terug van je sp's en kun je ze gelijk uitlezen.

Verder heb ik een stukje software genereert dat automatisch unit tests maakt van DBML klasses. Veranderd een parameter / SP output? --> Test gaat op de bek, terwijl testen automatisch gegeneerd worden.

Ideaal *O*
HansvDmaandag 13 september 2010 @ 12:00
quote:
Op zaterdag 11 september 2010 20:54 schreef Wijnbo het volgende:

[..]

En juist dan is linq heel erg handig. Krijg je mooi je strong typed resultaten terug van je sp's en kun je ze gelijk uitlezen.

Verder heb ik een stukje software genereert dat automatisch unit tests maakt van DBML klasses. Veranderd een parameter / SP output? --> Test gaat op de bek, terwijl testen automatisch gegeneerd worden.

Ideaal *O*
Heb met myGeneration hetzelfde gemaakt.

Ik ontwerp de tabellen en myGen maakt de sprocs, de classes, de unittests en een kale lijst / detail pagina in weergave en edit mode.

De ene keer gebruik ik dus myGen, de andere keer EF.
NikkelCobaltdinsdag 14 september 2010 @ 09:43
quote:
Op vrijdag 10 september 2010 16:43 schreef HansvD het volgende:

[..]

Bij sommige projecten zul je zelfs wel moeten.

Ik heb DBAdmins meegemaakt waar ik uitsluitend rechten op views en sprocs kon krijgen. (Wat opzich ook goed te verdedigen is)

Op z'on moment maak ik liever mijn eigen class en laat EF links liggen.

En voor mijn eigen classes heb ik een generator gemaakt met myGeneration dus dat is ook maar een paar tellen werk.
Eerlijk gezegd snap ik niks van je reactie. Je zegt dat je in sommige gevallen met een bepaalde db-user alleen toegang hebt tot views en sp's (snap ik). Maar alsnog gebruik je een ORM (myGeneration in dit geval), alleen laat je de EF ORM links liggen.

Zeg je nu iets te beamen of juist niet? Bepaalde reden om het EF ORM niet te gebruiken?

Overigens ben ik niet bekend met myGeneration.
HansvDdinsdag 14 september 2010 @ 10:58
quote:
Op dinsdag 14 september 2010 09:43 schreef NikkelCobalt het volgende:

[..]

Eerlijk gezegd snap ik niks van je reactie. Je zegt dat je in sommige gevallen met een bepaalde db-user alleen toegang hebt tot views en sp's (snap ik). Maar alsnog gebruik je een ORM (myGeneration in dit geval), alleen laat je de EF ORM links liggen.

Zeg je nu iets te beamen of juist niet? Bepaalde reden om het EF ORM niet te gebruiken?

Overigens ben ik niet bekend met myGeneration.
Ik heb ooit mijn eigen classes en sprocs ontworpen, dat deed ik vroeger met de hand.

myGeneration is een tool waarmee je vrij gemakkelijk aan de hand van je database model je classes en overige veelgebruikte code kunt genereren.

Dus mijn voordeel: mijn eigen ontworpen classes, sprocs, unittests en management pagina's genereer ik nu in 1 seconde, ik zit dus niet vast aan de werking van een ORM maar ik gebruik myGeneration om mijn eigen code te genereren.

Of om uit hun eigen tekst te quoten:

Template Based Code Generator Supporting Four Template Languages - JScript, VBScript, C# and VB.NET
Ability to Create Your Own Embedded User Interface in your Templates

Dat deel gebruik ik dus.


Zie: http://www.mygenerationsoftware.com/
NikkelCobaltdinsdag 14 september 2010 @ 13:10
Ik weet wat MyGeneration is, heb er alleen nog nooit mee gewerkt. Maar heb jij wel in de gaten wat een ORM is? En dat MyGeneration ook een ORM is? En LINQToSQL ook? En Entity Framework ook?

Ik bedoel, wat heb je nodig als je EF 4.0 hebt :+ (EF4 biedt ook de mogelijkheid zelf die code generation templates te maken)

Overigens ben ik zelf altijd een beetje anti 3rd party software. En dan voornamelijk zulke tools (bv. object databases, wat een drama).
HansvDdinsdag 14 september 2010 @ 13:54
quote:
Op dinsdag 14 september 2010 13:10 schreef NikkelCobalt het volgende:
Ik weet wat MyGeneration is, heb er alleen nog nooit mee gewerkt. Maar heb jij wel in de gaten wat een ORM is? En dat MyGeneration ook een ORM is? En LINQToSQL ook? En Entity Framework ook?

Ik bedoel, wat heb je nodig als je EF 4.0 hebt :+ (EF4 biedt ook de mogelijkheid zelf die code generation templates te maken)

Overigens ben ik zelf altijd een beetje anti 3rd party software. En dan voornamelijk zulke tools (bv. object databases, wat een drama).
Ik kan vast in EF 4 ook mijn eigen classes e.d. genereren in de stijl zoals ik dat wil.

Ik gebruik myGeneration sinds .net 2 (of 1.1 dat weet ik niet meer) dus die templates had ik al.
En of dat ook ORM is, dat zal dan wel. Ik vind het in EF allemaal minder helder dan mijn eigen classes.

Mijn classes bestaan gewoon uit wat properties en methodes als getItem, save, delete en getitems. In die methodes roep ik mijn sprocs aan, zo doe ik dat sinds .net 1 en op een bepaald moment ben ik myGen gaan gebruiken omdat ik daar mijn classes makkelijk mee kon genereren.

En dat bevalt me vooral bij grote projecten veel beter als EF.

Ieder zijn keuze.
NikkelCobaltdinsdag 14 september 2010 @ 13:58
quote:
Op dinsdag 14 september 2010 13:54 schreef HansvD het volgende:
Ieder zijn keuze.
Absoluut :)
Ker_Plunkvrijdag 24 september 2010 @ 15:54
Weet iemand een goed boek voor C# (over gestapt van VB nadat ik hier systematisch werd geterroriseerd ;( ) voor redelijke beginners? :)
Die van O'Reilly bevalt me wel maar ben uiteraard benieuwd naar jullie ervaringen…

Wat is trouwens het nut van de curly braces t.o.v. bijv. VB? :@
HansvDvrijdag 24 september 2010 @ 16:13
quote:
Op vrijdag 24 september 2010 15:54 schreef Ker_Plunk het volgende:
Weet iemand een goed boek voor C# (over gestapt van VB nadat ik hier systematisch werd geterroriseerd ;( ) voor redelijke beginners? :)
Die van O'Reilly bevalt me wel maar ben uiteraard benieuwd naar jullie ervaringen…

Wat is trouwens het nut van de curly braces t.o.v. bijv. VB? :@
Als je VB.Net al kent zou ik geen boek kopen om C# te leren. Zoveel verschil zit er niet tussen.

Het principe van .net daar gaat het om , niet om een ; of een {

En online kun je met converters je vb ook nog omzetten. bv via: http://www.developerfusion.com/tools/convert/vb-to-csharp/

Wij kunnen het hier gelukkig zelf bepalen en zo doet de 1 vb.net en de ander c#
Ker_Plunkvrijdag 24 september 2010 @ 16:28
quote:
Op vrijdag 24 september 2010 16:13 schreef HansvD het volgende:

[..]

Als je VB.Net al kent zou ik geen boek kopen om C# te leren. Zoveel verschil zit er niet tussen.

Het principe van .net daar gaat het om , niet om een ; of een {

En online kun je met converters je vb ook nog omzetten. bv via: http://www.developerfusion.com/tools/convert/vb-to-csharp/

Wij kunnen het hier gelukkig zelf bepalen en zo doet de 1 vb.net en de ander c#
Ben een beginnend programmeur/back-end devver dus wil wel een boek, gaat toch via de zaak :) Die converter gebruik ik ook regelmatig.
TallManvrijdag 24 september 2010 @ 22:15
grappig eigenlijk. Ik moet hier VB.NET doen gezien management denkt dat iedereen die VBA in excel heeft gebruikt kan VBen en dat er dus een grotere knowhow van VB is waardoor we daarin moeten ontwikkelen.

Maargoed, ga maar eens een paar vanuit PLC doorgegroeide figuren uitleggen dat VBA en VB.NET niet echt veel met elkaar te maken hebben en dat c# niet eng is. Overigens ook zoals HansvD aangeeft, het gaat om het zinnig gebruiken van het framework. Of dat tussen if then endif of if() {} staat maakt daarin niets uit. Is een weekje wennen aan syntax en heel af en toe eens googlen hoe die vb syntax nou naar c# moest.
Tuvai.netvrijdag 24 september 2010 @ 22:26
Er zitten minieme verschillen tussen C# en VB.NET. In het ergste geval is het een kwestie van een paar dagen je werkwijze aanpassen, als je van VB naar C# (of andersom) gaat. Een boek puur voor die overstap lijkt me vrij overbodig. :)

Ikzelf heb een enorme hekel aan VB.NET, het wilt naar mijn mening een beetje lijken op een letterlijke taal, al dan niet met een splaakgeblek. :P Ik vind C# gewoon veel overzichtelijker, juist vanwege de accolades. Echt het enige dat ik in C# mis dat VB wél heeft, is de 'With' operator. Handig als je van één object een hele rits aan properties wilt instellen.
Ker_Plunkmaandag 27 september 2010 @ 16:49
Het sluiten van je database, is dat alleen nuttig vanwege het dataverkeer en voor databases zoals access die moeite heeft met meerdere connectie's?
Ik gebruik het namelijk nooit…
OEMmaandag 27 september 2010 @ 19:17
quote:
Op maandag 27 september 2010 16:49 schreef Ker_Plunk het volgende:
Het sluiten van je database, is dat alleen nuttig vanwege het dataverkeer en voor databases zoals access die moeite heeft met meerdere connectie's?
Ik gebruik het namelijk nooit…
Vind je dat dan niet reden genoeg?

Ik zit nu ook weer bij een bedrijf waar ze de Close method niet kennen,laat staan try/catch/finally, laat staan using. En zo staat regelmatig systeembeheer weer te klagen dat de database het niet trekt.
Tuvai.netmaandag 27 september 2010 @ 20:02
quote:
Op maandag 27 september 2010 19:17 schreef OEM het volgende:

[..]

Vind je dat dan niet reden genoeg?

Ik zit nu ook weer bij een bedrijf waar ze de Close method niet kennen,laat staan try/catch/finally, laat staan using. En zo staat regelmatig systeembeheer weer te klagen dat de database het niet trekt.
Nog irritanter is wanneer men met bestanden / IO gaat werken en de streams niet doet sluiten. :') Zit je wat te etteren met een bestand dat steeds 'in gebruik' is. :')
Wijnbodinsdag 28 september 2010 @ 08:02
quote:
Op maandag 27 september 2010 16:49 schreef Ker_Plunk het volgende:
Het sluiten van je database, is dat alleen nuttig vanwege het dataverkeer en voor databases zoals access die moeite heeft met meerdere connectie's?
Ik gebruik het namelijk nooit…
Jah tof man. En dan heb je een keer iets in een loopje staan, en heb je 5K open connecties. Woehoe.
Ker_Plunkdinsdag 28 september 2010 @ 09:01
quote:
Op dinsdag 28 september 2010 08:02 schreef Wijnbo het volgende:

[..]

Jah tof man. En dan heb je een keer iets in een loopje staan, en heb je 5K open connecties. Woehoe.
Easy ;)
Jullie vergeten af en toe dat ik nog een 'beginner' ben, dus daarom vraag ik dit soort dingen ;)
TallMandinsdag 28 september 2010 @ 10:03
Nou 'beginner' ;). Alles dat een beperkte resource is (file I/O, db connecties etc.) altijd met respect en mate behandelen.

DB connecties niet meer openen dan je nodig hebt, overweeg of die connectie open moet blijven gedurende de lifetime van je programma of maakt het niet uit dat je opnieuw connect als je de db nodig hebt. Die afwegingen zijn allemaal afhankelijk van je probleem.
Ker_Plunkdonderdag 30 september 2010 @ 16:18
Ik heb een database connectie en de bijbehorende sql in de code-behind van een overzichtspagina (met gridview) gezet. Dit deed ik normaal op de pagina zelf.
Nu wil de gridview een DataSourceID hebben… ik heb de gedefineerde connectie string gebruikt maar krijg de foutmelding 'The DataSourceID of 'grdView' must be the ID of a control of type IDataSource. A control with ID 'conWebsite' could not be found.'
NikkelCobaltdonderdag 30 september 2010 @ 16:31
Dan moet je een datasource toevoegen (die gebruik maakt van de connectionstring en de query), of je kent via de code-behind de eigenschap Datasource toe met een collectie van items.
Deadwinterzondag 10 oktober 2010 @ 23:01
Allereerst: cool topic. Ik ben student en leer op school eigenlijk alleen Java, de stap naar C# is echter zo gemaakt. Vandaar ook even deze twee tips voor iedereen:

Allereerst the yellow-book van Rob Miles, een supergave hoogleraarnerd uit Hull die probeert zoveel mogelijk java-studenten over te halen het .NET framework (ook) te adopteren d.m.v. o.a. dit boek. Gratis te downloaden via: http://www.robmiles.com/c-yellow-book/ heb ik zelf heel veel aan gehad en natuurlijk bruikbaar voor iedereen.

En ben bovendien met gratis ontwikkelsoftware (legaal) in aanraking gekomen via deze facebookpage:

http://www.facebook.com/microsoftnlstudents je moet wel even "Liken" geloof ik, maar dan krijg je een link naar een bepaald microsoft programma waar je o.a. allerlei developmentproducten gratis kunt downloaden.
OEMzondag 10 oktober 2010 @ 23:10
quote:
Op zondag 10 oktober 2010 23:01 schreef Deadwinter het volgende:
En ben bovendien met gratis ontwikkelsoftware (legaal) in aanraking gekomen via deze facebookpage:

http://www.facebook.com/microsoftnlstudents je moet wel even "Liken" geloof ik, maar dan krijg je een link naar een bepaald microsoft programma waar je o.a. allerlei developmentproducten gratis kunt downloaden.
Je kan de gratis versies van Visual Studio gewoon downloaden bij Microsoft (Visual Studio Express).