• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    GOSHEWAN
    GOSHEWAN --- ---
    BUTHRAKAUR: Tohle resi neco trochu jineho. Kazdopadne jsem to konecne (!!!) vyresil. Problem byl v tom, ze jsem tam mel nejake UI, ktere jsem nepovazoval za dulezite (jo jsem debil...). Pak se totiz musi u ServiceBehavior nastavit UseSynchronizationContext = false, aby se jednotliva volani service objektu delegovala do jinych vlaken. Bez toho se totiz vse synchronizuje do UI vlakna...

    Jako ja tusil ze je problem nekde v tech vlaknech, ale tohle mi dost uniklo /-:
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    GOSHEWAN: nikdy jsem to v realu neresil, ale melo by to jit pres CallbackContract (http://www.codeproject.com/KB/webservices/ChatRoom.aspx) nebo pres nejakej timer na klientovi + polling
    PJOTRIK
    PJOTRIK --- ---
    nejaky tip na dobrou knihovnu pro praci s grafama? myslim grafy z teorie grafu, zadny kolace :-)
    GOSHEWAN
    GOSHEWAN --- ---
    GOSHEWAN
    GOSHEWAN --- ---
    dotaz:

    Mam WCF Server (S1), na ktery se pripojuje klient (K) a vola metodu, ktera vraci nejaky vysledek. Metoda na serveru vola jiny server (S2), ktery vrati ID pozadavku a po nejake dobe zavola zpatky prvni server (S1) a preda mu vysledek oznackovany tim ID, takze si to ten prvni server spoji a vrati jako navratovou hodnotu ten vysledek zpet na klienta (K).

    Takze to vypada nejak takhle:

    K -> S1 -> S2
    ...
    S2 -> S1 -> K

    Problem je v tom, ze komunikace K <-> S1 je synchronni, zatimco S1 <-> S2 asynchronni (muze trvat relativne dlouho). Na S1 jsem to zkousel resit pres EventWaitHandle a WaitOne(), ale tim se mi cely server zasekne. Problem je v tom, ze to cele bezi v jednom threadu a pri volani WaitOne() server S1 nezvladne obsluhovat dalsi pozadavky vc. toho, ktery mu rekne, ktery handle ma uvolnit.

    Mate nekdo napad, jak tohle resit? Nebo jak se to resi obecne? Zkousel jsem vselijake kombinace ConcurrencyMode a InstanceContextMode a bud to delam spatne a nebo to nevede k reseni...
    MORMEGIL
    MORMEGIL --- ---
    LOOCAS
    LOOCAS --- ---
    NECROMAN: Nezáleží náhodou na nějakym nastavení Policies v prostředí Win? Tam by pak stačil i dotaz na to, co je zakázaný atp... Ale to jen hádám, jistej si tim nejsem. :)
    NECROMAN
    NECROMAN --- ---
    dotaz - hledam nejaky jednoduchy regularni vyraz pro overeni spravnosti username a machinename ve windows - napr. pro file a folder name je primo v systemu seznam zakazanych charu, je neco podobneho i pro username/groupname/machinename?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    MILL: A co si to napsat rovnou v SQL jako funkci/view a na to teprva napojit EF?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Naprosto :)
    NECROMAN
    NECROMAN --- ---
    TENCOKACISTROMY: hmm, takze to je mi u WCF servicy celkem jedno, ne? :)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Jestli si dobre pomatuju, tak StringCollection se da upravovat pres PropertyGrid ve winforms.
    NECROMAN
    NECROMAN --- ---
    Dotaz, je nejaky rozumny duvod pozivat StringCollection namisto List<string> se kterym se da mnohem lepe pracovat v Linq, pouzivat ToList() a pod. ?
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: vyresil jsem to prozatimne obj.GetType().ToString().Contains("xy") a to funguje
    MORMEGIL
    MORMEGIL --- ---
    JACHYMKO: Ale vždyť on tohle právě nechce, ne?
    NECROMAN
    NECROMAN --- ---
    jak je mozne, ze kdyz jsem si dal na jedno misto cond. breakpoint "obj is a<b>", tak mi to breaklo i tehdy, kdy obj je typu a<string> ? to nefunguje genericky test is v cond. breakpointu nebo jak?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    SHIGORBIRDMAN: Jeste by se ti mohl hodit atribute [Browsable(false)] - ten zarizuje, ze se ta property nezobrazi v propertygridu.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    oooh, dekuji na tisicekrat
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    ten idiotsky c# winfom designer me asi pripravi o zdravi :(

    mam problem s custom controls, ktere maji public property moje vlastni typy - pokud jsou pouzite v nejakem jinem custom control nebo winforme, idiotsky designer si kdysi nejak ulozil jejich hodnoty do resources a ted pada pri jejich deserializaci... teda nekdy... nekdy pomuze clean solution, restart visual studia a rebuild, jindy ani to ne, jednou jsem to vyresil tak, ze jsem z jednoho controlu ten custom smazal a znovu pridal (a pak to zazracne zacalo fungovat vsude... az do pristiho restartu....)

    netusite nekdo co s tim? neni nejaky attribute, kterym bych zakazal designeru si ty hodnoty ukladat? XMLIgnore (coz je asi tim, ze podle toho, co je psano v resource.resx pouziva binarni) a NonSerializable mi na property nechce dovolit...

    Funguje, resp nefunguje, to naprosto bizarne a podivne... aktualne mi to hlasi, ze se zmenil serializovany typ, protoze ocekaval Visimath.Vector a dostal Visimath.Vector....

    NECROMAN
    NECROMAN --- ---
    JACHYMKO: asi se na to podivam reflektorem - preci tam misi byt nejaky interni preklad formatu 'd' na dd.MM.yyyy u ceskeho CultureInfo, ne?
    NECROMAN
    NECROMAN --- ---
    Dotaz - jak ze standardniho formatu DateTime, ktery se zapisuje jednim pismenem
    string[] standardFmts = {"d", "D", "f", "F", "g", "G", "m", "o", "R", "s", "t", "T", "u", "U", "y"};
    ziskat plny zapis pro dane CultureInfo ve tvaru napr dd/MM/yyyy ?
    Kliknutím sem můžete změnit nastavení reklam