Moi, olen tekemässä desktop -ohjelmaa, jonka avulla hallitaan tietokannassa sijaitsevia tietoja. Tietoja voidaan lisätä, poistaa ja muokata. Ohjelman ajattelin tehdä Windows Presentation Foundation / vb.net -yhdistelmällä ja tietokantaan toimisi palvelimelle sijaitseva MS SQL server.
Tietojen valitseminen tapahtuu valitsemalla node treeview:stä, minkä vuoksi puunäkymän tulisi olla ajan tasalla tietokannan kanssa. Luin, että samanaikaisten käyttäjien välinen kommunikointi voitaisiin toteuttaa .txt -tiedoston avulla, johon sovellus kirjoittaisi muutokset, mistä muut sovellukset voisivat ne lukea ja päivittää. Toinen vaihtoehto olisi päivittää puuäkymää, mutta jos tietoa on paljon, veisi sen päivittäminen aikaa.
Miten käyttäjien välinen kommunikointi olisi viisainta toteuttaa? Tarjoaako .NET framework tähän valmiita vaihtoehtoja?
Physix kirjoitti:
Miten käyttäjien välinen kommunikointi olisi viisainta toteuttaa? Tarjoaako .NET framework tähän valmiita vaihtoehtoja?
No riippuu hirveästi mitä niiden käyttäjien välillä pitää kommunikoida. Yksi mahdollisuus olisi hoitaa kommunikointi tietokannan kautta, jolloin sinulla olisi ohjelmassa vain yksi yhteys jonka toimivuudesta kantaa huolta.
Eli jos käyttäjä lisää tai postaa objektin, joka tällöin täytyy lisätä tai poistaa muidenkin käyttäjien puunäkymistä.
Tuosta Grezin ehdotuksesta ajattelin, että tämän voisi toteuttaa lisäämällä tietokantaan taulun, johon tulisi sarakkeet "toiminta" ja "aika", joihin ohjelma kirjoittaisi, kun käyttäjä tekee muutoksia. Sekä olisi backgroundworker, joka tarkistaisin, onko tullut uusia rivejä tauluun edellisen checkin jälkeen, aikaväli voisi olla vaikka 1 minuutti.
Olisiko vielä parempi keino?
Moi,
Mietin, että jos teen sovelluksen WPF:n avulla käyttäen Entity Frameworkia ja bindaan siitä saadut datat Treeview:hen, päivittyisikö tällöin Entity Framework moduulin sisältö, jos tietokannan sisältö muuttuu?
Ei päivity itsestään. Eli sinun täytyy koodissa käskeä päivittämään datat.
Aihe on jo aika vanha, joten et voi enää vastata siihen.