abonnement Unibet Coolblue
  dinsdag 13 juli 2010 @ 13:13:06 #201
24981 Cryothic
nerd... meer niet.
pi_83995255
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.
pi_83995444
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.
pi_83996673
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.
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  dinsdag 13 juli 2010 @ 13:50:26 #204
24981 Cryothic
nerd... meer niet.
pi_83996786
Dat klopt, dat is een fysiek path.

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

en zo?
pi_83998283
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?
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  dinsdag 13 juli 2010 @ 14:32:54 #206
24981 Cryothic
nerd... meer niet.
pi_83998619
is het een webapp of gewone app?

misschien met "~/emailToClient.html" ?
pi_84002190
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
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  dinsdag 13 juli 2010 @ 16:24:36 #208
24981 Cryothic
nerd... meer niet.
pi_84004203
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)
pi_84180758
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?
  zaterdag 17 juli 2010 @ 21:48:15 #210
44920 TallMan
Permanent brain failure
pi_84180948
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.
geheelonthouder met geheugenverlies
Mensen die zeggen dat domme vragen niet bestaan stellen ze zelf.
pi_84180987
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
pi_84360173
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
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  donderdag 22 juli 2010 @ 22:16:37 #213
269384 OEM
I spit on your aircraft
pi_84375400
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
pi_84395793
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.
  vrijdag 23 juli 2010 @ 13:35:58 #215
24981 Cryothic
nerd... meer niet.
pi_84395988
ik heb 2 jaar bij webstekker.nl gezeten.
Die doen o.a. ook ASP.NET 4.0
pi_84530738
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. :)
pi_84577630
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…
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_84577776
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
  woensdag 28 juli 2010 @ 08:45:10 #219
24981 Cryothic
nerd... meer niet.
pi_84577817
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.
pi_84577876
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.
pi_84577926
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..
  woensdag 28 juli 2010 @ 09:00:52 #222
24981 Cryothic
nerd... meer niet.
pi_84578053
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.
pi_84578142
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?
pi_84578272
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) :)
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_84578329
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.
  woensdag 28 juli 2010 @ 09:45:13 #226
24981 Cryothic
nerd... meer niet.
pi_84578891
je kan ook submitten naar dezelfde pagina.

In de pageload de isPostBack afvangen, en in de postback de values controleren.
pi_84580887
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
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_84584756
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…
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_84584823
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.
  woensdag 28 juli 2010 @ 13:11:27 #230
24981 Cryothic
nerd... meer niet.
pi_84585658
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.
pi_84589340
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
pi_84591266
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
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  vrijdag 30 juli 2010 @ 00:24:34 #233
24981 Cryothic
nerd... meer niet.
pi_84650339
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 />");
        }
pi_84650778
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
  vrijdag 30 juli 2010 @ 21:37:30 #235
24981 Cryothic
nerd... meer niet.
pi_84682001
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
pi_84682524
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.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
  vrijdag 30 juli 2010 @ 21:52:26 #237
24981 Cryothic
nerd... meer niet.
pi_84682728
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?
pi_84684034
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. :)
  vrijdag 30 juli 2010 @ 22:34:28 #239
24981 Cryothic
nerd... meer niet.
pi_84684729
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.
pi_84685725
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
hula
  vrijdag 30 juli 2010 @ 23:39:25 #241
24981 Cryothic
nerd... meer niet.
pi_84687760
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
pi_84690352
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).
hula
pi_84695582
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?
  zaterdag 31 juli 2010 @ 09:39:04 #244
269384 OEM
I spit on your aircraft
pi_84695860
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)
pi_84696344
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 ]
  zaterdag 31 juli 2010 @ 10:39:23 #246
269384 OEM
I spit on your aircraft
pi_84696662
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 :)
  zaterdag 31 juli 2010 @ 11:02:57 #247
269384 OEM
I spit on your aircraft
pi_84697012
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.
  zaterdag 31 juli 2010 @ 11:15:03 #248
269384 OEM
I spit on your aircraft
pi_84697217
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.
pi_84702753
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.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_84702777
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 :)
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
  zaterdag 31 juli 2010 @ 15:22:28 #251
24981 Cryothic
nerd... meer niet.
pi_84703694
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
  maandag 2 augustus 2010 @ 10:14:22 #252
24981 Cryothic
nerd... meer niet.
pi_84764078
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?
  maandag 2 augustus 2010 @ 11:18:51 #253
269384 OEM
I spit on your aircraft
pi_84765749
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.
  maandag 2 augustus 2010 @ 11:53:48 #254
24981 Cryothic
nerd... meer niet.
pi_84766900
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.
  maandag 2 augustus 2010 @ 22:27:25 #255
67978 HenryHill
Fake it 'till you make it
pi_84791961
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.
So this is how liberty dies... with thunderous applause.
Truth? What's so great about the truth? Try lying for a change, it's the currency of the world
  dinsdag 3 augustus 2010 @ 09:04:44 #256
24981 Cryothic
nerd... meer niet.
pi_84802756
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
pi_84803678
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. :)
  dinsdag 3 augustus 2010 @ 10:14:13 #258
24981 Cryothic
nerd... meer niet.
pi_84804124
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.
pi_85902516
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.
pi_85903799
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
hula
  dinsdag 31 augustus 2010 @ 11:04:38 #261
58834 Catbert
The evil HR Director.
pi_85903925
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.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
pi_85908972
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
pi_85921567
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.
pi_85926290
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.
  woensdag 1 september 2010 @ 12:44:59 #265
269384 OEM
I spit on your aircraft
pi_85945137
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);
}
pi_85947268
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 ]
pi_85950617
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)
hula
  woensdag 1 september 2010 @ 15:57:33 #268
269384 OEM
I spit on your aircraft
pi_85952149
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

.
  woensdag 1 september 2010 @ 16:46:15 #269
192481 Core2
Happiness is the road
pi_85953834
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?
  woensdag 1 september 2010 @ 16:50:20 #270
192481 Core2
Happiness is the road
pi_85953999
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.
pi_85962543
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.
  woensdag 1 september 2010 @ 21:40:50 #272
192481 Core2
Happiness is the road
pi_85964848
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 :)
pi_86034325
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.
hula
pi_86037185
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.
pi_86041434
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)?
hula
  dinsdag 7 september 2010 @ 22:53:12 #276
24981 Cryothic
nerd... meer niet.
pi_86186020
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?
pi_86283068
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.
pi_86283155
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/
pi_86298837
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. :)
pi_86323252
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*
pi_86377291
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.
pi_86412511
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.
hula
pi_86414255
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/
pi_86418468
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).
hula
pi_86420108
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.
pi_86420234
quote:
Op dinsdag 14 september 2010 13:54 schreef HansvD het volgende:
Ieder zijn keuze.
Absoluut :)
hula
pi_86792770
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? :@
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_86793406
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#
pi_86793923
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.
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  vrijdag 24 september 2010 @ 22:15:00 #290
44920 TallMan
Permanent brain failure
pi_86809163
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.
geheelonthouder met geheugenverlies
Mensen die zeggen dat domme vragen niet bestaan stellen ze zelf.
pi_86809754
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.
pi_86905968
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…
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  maandag 27 september 2010 @ 19:17:47 #293
269384 OEM
I spit on your aircraft
pi_86912197
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.
pi_86914360
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. :')
pi_86930609
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.
pi_86931437
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 ;)
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  dinsdag 28 september 2010 @ 10:03:49 #297
44920 TallMan
Permanent brain failure
pi_86932753
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.
geheelonthouder met geheugenverlies
Mensen die zeggen dat domme vragen niet bestaan stellen ze zelf.
pi_87025283
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.'
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_87025922
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.
hula
pi_87402875
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.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')