• ú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
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    TENCOKACISTROMY: pokud vim, tak best practice SOA/WCF je posilat auth udaje v headeru kazdy zpravy.. jestli to dobre chapu, tak ty v podstate uchovavas "session" state mezi requestama (tu vazbu loginToken-Account.Id), coz neni uplne cisty reseni. sluzby by mely byt state-less.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Mam WCF sluzbu hostovanou v IIS. Po overeni uzivatele (hash(username+password) nebo facebookid) vygeneruju jedinecnou hodnotu pro jeho identifikaci (loginToken).

    K tomuhle loginTokenu si priradim ID uzivatele (hodnota z tabulky "Account" v databazi). Tenhle loginToken mi ten uzivatel posila, kdyz vola WCF operace.

    Kam bych si mel ten loginToken ukladat, kdyz chci aby vydrzel i recyklaci procesu?
    Jako nejlepsi reseni se mi jevi to ukladat do databaze + mit v ty WCF sluzbe singleton, kterej ma tyhle hodnoty nacachovany + ma SqlDependency na db tabulku s tema loginTokenama.

    Nemam tam nejakou chybu v tomhle konceptu? Existuje lepsi reseni? Je uz neco takovyho hotovyho?
    NECROMAN
    NECROMAN --- ---
    LZe zmenit nastaveni podle tohoto navodu dole, aniz by clovek musel prepisovat sytemovy soubor machine.config? Kdyz dam primo do appconfigu sve aplikace treba toto:

    <processModel maxWorkerThreads="96" minWorkerThreads="8" maxIoThreads="96" minIoThreads="8" />

    tak mi to hlasi, ze nelze menit to, co lze nastavit jen v machine.config
    http://blog.stevensanderson.com/2010/01/25/measuring-the-performance-of-asynchronous-controllers/
    NECROMAN
    NECROMAN --- ---
    ze by?
    Contention, poor performance, and deadlocks when you make Web service requests from ASP.NET applications
    http://support.microsoft.com/kb/821268
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: v Akci na stazeni obrazku vytvarim konekci na WCF sluzbu, ktera vraci onen soubor, coz je vlakno navic. Pokud mam jednu aktivni akci a dve cekajici na locku, tak mi to deadlockne, protoze to odmitne vytvorit ctvrte vlakno pro to WCF spojeni.
    NECROMAN
    NECROMAN --- ---
    NECROMAN: nebo jinak, jak nastavit seriove provadeni akci volanych z view v MVC 3 namisto paralelnio zpracovani, popripade jak zmenit max pocet paralelnich akci najednou?
    NECROMAN
    NECROMAN --- ---
    Potrebuju radu - v MVC 3 aplikaci je nekde limit na max zpracovani 3 vlaken najednou, i kdyz mam treba na strance ve view 10x "@Url.Action("Image", "Product", neco)
    Ted mi nastava deadlock, kdyz se mi vytvori 3x vlakno pro nacteni toho Image, ale kazde z techto vlakne potrebuje vytvorit jeste jedno vlakno navic. I kdyz to zamykam a volam seriove, tak se to zasekne na vytvoreni 4 vlakna a cela webova aplikace jde do haje. Dotaz tedy - kde lze zmenit nastaveni pocet vlaken pro webovou aplikaci?
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    NECROMAN: WCF streaming podporuje, ale ma to par omezeni. Kazdopadne musis u endpointu prenastavit TransferMode na Streamed. neco je o tom treba tady: http://blogs.msdn.com/b/drnick/archive/2006/03/31/565558.aspx
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Nevim, jestli na soubory nema WCF nejakej specialni funkcionalitu. Ale pokud nema, tak bych to posilal normalne po chunkach v byte[].
    NECROMAN
    NECROMAN --- ---
    Otazka - kdyz mam web a extra sluzbu, ktera tomu webu poskytuje ulozene soubory z jineho stroje - jak tyto soubory posilat pres WCF nejrozumnejsim zpusobem - tedka se uz den snazim o to rozchodit to rozumne pres Streamy, ale nejak se mi to deadlockuje kdyz se klient pokousi cist vice souboru najednou, nebo jeden soubor vicekrat ve stejny okamzik a nevim, co s tim. Jsou streamy dobre reseni, neob radeji posilat byte[], nebo jeste nejak uplne jinak?
    SLUPKA
    SLUPKA --- ---
    Zdravím,
    nemáte někdo funkční sample na použití pooling duplexu pro komunikaci ze silverlight klienta?
    NECROMAN
    NECROMAN --- ---
    jeste dotaz 0 lze nejak nastavit, aby se adresy generovali jenom s malymi pismenky i tehdy, kdyz mam nazvy views a controlleru s velkymi - mam ProductController a slozku Views/Product/
    rad bych, aby to generovalo adresy ve tvaru <web>/product/action/
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: nakonec jsem to vyresil extra tabulkou v db, ktera mapuje usernames na unikatni int IDcka, ktera se pouzivaji i jako folder names - po strance vykonu to bude asi nejlepsi reseni, at tam nejsou selecty, kde porovnavam hashe useru.
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: hash me take napadl. tim se ale docela snizi citelnost nazvu souboru - leda mit nazev-bez-specialnich-znaku_hash
    NECROMAN
    NECROMAN --- ---
    Dotaz - pouzivam v ASP.NET MVC 3 aplikaci defaultni SqlMembershipProvider, ktery se vygeneruje pro typ projektu Internetova aplikace - potreboval bych generovat z username unikatni nazvy slozek na disku - je tu ale problem, ze v username muze byt skoro cokoliv, tj i zakazane znakyu pro slozky - jde nejak omezit platne symboly, ktere muzou byt v username, nebo jak resit preklad username se zakazanymi symboly na unikatni nazvy slozek?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    JACHYMKO: Vystacil bych si s ICollection a ICollection<T>, pripadne i s IEnumerable (ale tam se mi to moc nechce, pac prochazenim bych mohl zmenit stav).

    Pro Object by byl fajn jinaci visualizer, ale bez toho se tedka klidne obejdu. Ale ty kolekce by se mi ted dost hodily.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Mam svuj DebuggerVisualizer, kterej chci pouzit na jakykoliv typy implementujici ICollection ci ICollection<T>. Problem je, ze kdyz v attributu"System.Diagnostics.DebuggerVisualizer" definuju "Target=typeof(ICollection)", tak ten visualizer vubec neni nabizenej. Nabizi se jen u trid (mozna i struktur, nezkousel jsem), ktere jsou presne daneho typu (cili, ani ty odvozene).

    Je na to nejaka obezlicka? Chci si v gridu zobrazovat kolekce ruznejch objektu, vypsani vsech typu trid (vcetne generickych) neni v mych moznostech.
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: hlavne by me zajimalo, jak treba zaridit, aby se zobrazil stejny odkaz u obrazku, ktere odkazuji na to same, treba na nejaky "filenotfound.gif"
    tedka ma kazdy svuj link treba /Product/Image?group=4, /Product/Image?group=5, /Product/Image?group=6 a vsechny zobrazuji to same... to ale pres routovani asi uz moc nepujde vymyslet, leda tam ty obrazky davat primo a ne pres akce.
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: ale i u FilePathResultu to bude porad mit requestUrl ve tvaru
    http://localhost:11753/Product/Image?group=4
    Nevim, co je etag, ale response header je stejn jak u FileStreamResult tak u FilePathResult
    MORMEGIL
    MORMEGIL --- ---
    NECROMAN: No tak hlavně doufám, žes to „nevyřešil“ doplněním toho chybějícího usingu (jakože ten tam patří, ne že ne)… Hlavně musíš ten soubor otvírat s takovým režimem sdílení, aby ho mohlo číst víc lidí naráz!
    NECROMAN
    NECROMAN --- ---
    PJOTRIK: u statickych obrazku by to slo, ale u dynamickych ne a i s temi se tu bude pracovat...
    PJOTRIK
    PJOTRIK --- ---
    NECROMAN: nemel bys jednodussi udelat interni redirect a tyhle veci nechat na webserveru?
    NECROMAN
    NECROMAN --- ---
    Tak uz vim - ja ty soubory cetl pro kazdy request z disku a neuzaviral jsem stream, takze pokud slo vice requestu na stejny soubor na jedne strance, tak nasledne requesty zarvali na problem otevirani nezavreneho streamu, jaj :)
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: nevim, co je Fiddler, tale ted jsem si vsiml v Chromu, ze to u te polozky v network profileru zobrazuje bud kdyz se stahne, tak 200OK, a nebo kdyz ne, tak 500 Internal Server Error - divne, jako by se nereneslo vse? je to pokazde stejny request, tak fakt nevim, cim to
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Udelat si handler, kterym to url "/Product/GetImage/XY/MojeLogo.jpg" obslouzis. Tzn. dle neceho (nejspis "XY/MojeLogo.jpg") najdes obrazek v DB a pak ho zapises do Response.Stream.
    NECROMAN
    NECROMAN --- ---
    nebo jinak, jak vlozit img do stranky tak, aby se tvaril jako bezny jpg, ale aby byl ve skutecnosti tahan nekde treba z DB, nebo odjinud? aby adresa vypadal lepe, nez
    src="/Product/GeImage?group=1" ale treba src="/Product/GetImage/XY/MojeLogo.jpg"
    NECROMAN
    NECROMAN --- ---
    dotaz - co se to sakra deje s MVC 3 aplikaci - mam tam dynamicke nacitani obrazku na strance pomoci:
    <img width="150" height="150" alt="Image" src="@Url.Action("GetImage", "Product", new { Model.ID })" />
    a kdyz davam na strance refresh, tak se ten obrazek obcas nenacte, obcas jo, proste nahodne, jako kdyby tam ten stream proste obcas nedosel - co to sakra je?
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    GARFIELD: na DB doporucuju https://github.com/schambers/fluentmigrator/ a na ten XML bych si asi vytvoril neco vlastniho na podobnym zakladu jako je ten migrator - proste migracni tridy s nejakym cislem verze. oboji pak spustit po startu aplikace a je hotovo..
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    SLEPICZ: prave, to mlceni pripadne "pockejte si, az to predvedeme, uvidite" je opravdu nesmyslne a nepochopitelne
    ESY
    ESY --- ---
    Mam tu jeden dotaz, prevazne se venuju jenom winform a wpf c# aplikacim. Dostala se na me jedna vec. Jedna se o oziveni HTML temlplatu.. Jediny co potrebuju vedet jak se resi two-way binding. oneway nebyl problem bind an property a databind(). Otazka jak jednoduse na two-way? pokud jsem zkusil to samy ale s bind tzn Bind(c.Id), tak dostanu chybu o templatu a ze neobsahuje property html tagu.Sablony jsem dostal v validnim html kodu. Muze me prosim nekdo nasmerovat.. Jak rikam v ASP jsem skoro nic nikdy nedelal
    SLEPICZ
    SLEPICZ --- ---
    SHIGORBIRDMAN: Mlčení ze strany MS těmto obavám samozřejmě hrálo na ruku, o tom žádná.
    Kliknutím sem můžete změnit nastavení reklam