• ú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
    SLUPKA
    SLUPKA --- ---
    BUTHRAKAUR: tohle bych tipnul spíš na nějaké konkrétní nastavení IIS (docela by to sedělo na nějaké české hostingy, protože český asp.net hosting za moc nestojí)... já jsem se s tím v praxi nesetkal... samozřejmě, pokud se počítá s tím, že ten task poběží až takhle dlouho, tak bych to určitě nedělal takhle naivně (zákon schválnosti je neúprosný a recycle bys prostě potkal)...
    MIXXX
    MIXXX --- ---
    Omlouvám se za SPAM, ale mohlo by někoho možná zaujmout:
    Sháním .NET vývojáře pro projekt který se zabývá webhostingem, serverhostingem, housingem... Jedná se o dlouhodobou spolupráci při reimplementaci stávajících řešení našeho klienta do technologie .NET.

    Dlouhodobá spolupráce – cca 1-2 roky.

    Požadavky:
    Nutná znalost:
    .NET framework (2.0 - 4.0+)
    C#
    Webové služby Soap (asmx a WCF)
    Linq-to-object
    Asp.NET (WebForms a/nebo MVC)
    T-Sql (Query)

    Výhodou:
    Multithreading
    Unit testing
    REST
    T-Sql (Functions, Stored Procedures)
    Application Lifecycle Management
    JQuery

    Pokud by měl někdo zájem, prosím do pošty.
    Díky.
    TOOMIX
    TOOMIX --- ---
    NECROMAN: strong name a podpis neměla ani jedna ;)
    NECROMAN
    NECROMAN --- ---
    TOOMIX: maji ty dve puvodni knihovny Strong Name a i digitalni podpis? Caso takovy problem vznika, pokud nemaji Strong Name a nejlepe kdyz jeste maji stejne cislo assembly, to potom snadno vzniknou problemy pri nacitani.
    TOOMIX
    TOOMIX --- ---
    Rád bych se zeptal na věc, na kterou jsem včera narazil a docela nemile mě překvapila.

    Programuju v .NET 4.0 aplikaci, která načítá data po modbusu. Bohužel potřebuju 2 knihovny, přičemž obě mají stejný namespace, ale každá má trochu jiné metody (jednu používám pro komunikaci se zařízením 1, druhou pro komunikaci se zařízením 2). Problém nastal v tom, že se obě knihovny jmenovaly stejně - Modbus.dll. Druhou jsem tedy normálně přejmenoval na Modbus2.dll (aby mi VS neřvalo, že už tam jednu assembly s názvem Modbus mám), a obě nahodil jako referenci k projektu (Modbus, Modbus 2). Oběma referencím jsem nastavil alias, následně do tříd dal
    extern alias "název aliasu dll, kterou měla třída použít";
    Po zbuildování proběhlo všechno v pořádku, ale jakmile se měla udělat instance jedný z těhlech dvou tříd, spadlo to na FileNotFoundException.

    Problém jsem vyřešil tak, že jsem na netu našel zdrojáky k 1. knihovně, přepsal namespacy (možná i zbytečně), assembly name a zbuildoval si novou knihovnu.

    Je mi jasný, že přejmenováním dll nedojde ke změně assembly name, ale proč to nešlo přes ty aliasy? Díky
    VIRTUALVOID
    VIRTUALVOID --- ---
    NECROMAN: ja som to riesil cez signalr, persistent connection. ma to tu vyhodu, ze si vies pripadne poslat aj progress. ale to by si musel frontend/app programovat viacmenej asi v js.
    JSEVCIK
    JSEVCIK --- ---
    Ma tu niekto prakticke skusenosti s Xamarinom ? Konkretne iOS a Android aplikace s max. vyuzitim jednej codebase. Klidne i na poldnove skolenie za $$...diky
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    SLUPKA, NECROMAN: mozna se pletu, ale matne si vzpominam, ze IISko standardne po 120s zabiji requestem vyprodukovany thready, ne? Pokud je to vazne dele trvajici async task, tak bych to videl spis na klasickej pripad pro messaging.
    NECROMAN
    NECROMAN --- ---
    SLUPKA: uff, dik za vycerpavajici odpoved :)
    SLUPKA
    SLUPKA --- ---
    NECROMAN: Pokud nebude nějaká divná konfigurace IIS, tak to projde naprosto bez problémů. Je klidně možné použít i timer, který vůbec request nepotřebuje (samozřejmě je k diskuzi na co je správné to použít). Nicméně i tak máš několik scénářů při kterých k zabití dojde (můžeš mít automatický recycle na app poolu, nasazení nové verze kódu, a další věci které ti zabijí proces.

    Nicméně, chce to vzít potaz pár věcí. Pokud se nepletu, tak exception na background vlákně, která probublá až úplně ven ti shodí proces (app pool), žádný chybový návrat jako při requestu. A navíc, pokud dojde k několika úplným pádům, tak se IIS rozhodne nerestartovat pool. A další věc, sebere ti to vlákno, které by normálně sloužilo k obsluhování requestu (při větším množství takových tasků přestane tvůj server odpovídat).
    NECROMAN
    NECROMAN --- ---
    Dotaz, je mozne v ASP.NET pri requestu spustit nejaky dele bezici task na serveru a vratit rychle reponse?
    Nedojde k zabiti toho tasku nez dobehne?
    SUPERMARIO
    SUPERMARIO --- ---
    Hledáme vývojáře, který nám vytvoří malou webovou aplikaci v .NET, ktera komunikuje s API a data zobrazuje, uklada. Specifikace vymenou za bio - posta pls.
    GOLDEN_TEACHER
    GOLDEN_TEACHER --- ---
    Nemáte někdo typy na komerční kariérní start-up, který není časově náročný ? Pracoval jsem na projektu v C#, v kterém by jsem chtěl dělat dlouhodobě a ten teď končí. Bohužel mi na tom závisí placení účtů a jako student bez zázemí mám v blízké době krizi.
    PECA
    PECA --- ---
    Padá mi aplikace a přitom to nehodí žádnou výjimku. Snažil jsem se něco vyguglovat, ale na nic co by mi přišlo k věci jsem nenarazil. Potřeboval bych radu, jak to chytit. Mám dva případy (projekty). "Nasadil" jsem log4net. Na začátek a konec metod jsem si dal záznam. Nejsem si 100% jistý, ale domnívám se, že v případě výjimky by to navíc mělo tu výjimku zaznamenat, včetně nějakých detailů (ale možná jsem to jenom blbě pochopil).
    1. projekt je COM objekt, který volám z Win32 aplikace. V drtivé většině (několik desítek až pár set) případů to funguje. Asi u 10 klientů to "padá". Přičemž jediná hláška je od OS, že program přestal pracovat. Dokonce jsem si tam potom cvičně doplnil volání metody: private static void Foo() { throw new Exception("This is an Exception"); }, ale chová se to prakticky stejně, výjimka se nekoná (na PC, kde mi to předtím chodilo a bez té "ruční" výjimky nepadalo). Tady jsem znejistěl, jestli log4net ty výjimky loguje sám od sebe, nebo si to musím doprogramovat.
    2. projekt je WinForm aplikace, je tam několik formulářů, spousta datasetů. To zatím není u klientů, ale testerovi to občas upadne pod rukama. Když je to nějaká "normální" chyba, tak to výjimku hodí, to pak není problém dohledat a opravit. Pokud jí to ale chcípne bez výjimky, tak jsme v prdeli. Padá to málo (1× - 3× za den), náhodně na různých místech. Alespoň se nám nepodařilo to nijak vysledovat. Programátorům to nepadá, aby se to alespoň nějak lépe chytalo :-( Tady jdu teprve log4net nasadit.
    ---
    Nemáte nějakou radu ohledně toho sledování kam program vlezl, aby se nemuselo na desítky míst vložit zalogování průlezu? Nebo nesetkali jste se někdo s podobným chováním?
    FW 4.0, VS2013, DevExpress vizuální komponenty, FirebirdClient na připojení k Firebird SQL.
    TOOMIX
    TOOMIX --- ---
    Neimplementoval jste někdo náhodou protokol M-Bus (neplést si s Modbusem) v C#? Nějak nemůžu dohledad žádný knihovny. Díky
    MORMEGIL
    MORMEGIL --- ---
    NECROMAN: IMHO přesně tak, to chování (na vstupu mám něco-nebo-null, mám funkci něco→výsledek a na výstupu mám výsledek-nebo-null) popisuje monádu; konkrétně monádu, které se říká Maybe.
    NECROMAN
    NECROMAN --- ---
    ROTTWEILER: rekl bych, ze to bude takovy syntakticky cukr pro Maybe Monad, ale sam v tom nejsem expert, tak abych nekecal :)
    ROTTWEILER
    ROTTWEILER --- ---
    NECROMAN: Já jsem pochopil, co to umožní, ale nebylo mi jasný jaký to má vztah k monádům.
    NECROMAN
    NECROMAN --- ---
    ROTTWEILER: protoze to vychazi z "Monad" - takove dost teoreticke objekty ve funkcionalnich jazycich typu F#. Zde je jedno pekne vysvetleni:
    The Marvels of Monads - Yet Another Language Geek - Site Home - MSDN Blogs
    http://blogs.msdn.com/b/wesdyer/archive/2008/01/11/the-marvels-of-monads.aspx

    Monadic null checking bude zajimava vec, ktera usetri dost psani kodu typu
    if (user != null){
    if (user.orders != null && user.orders.Length > 0){
    return user.orders[0].id;
    }
    }
    return fallbackId;

    misto toho pujde:
    return user?.orders?.FirstOrDefault()?.id ?? fallbackId;
    ROTTWEILER
    ROTTWEILER --- ---
    NECROMAN: Možná hloupá otázka, proč se tomu říká monadic?
    Kliknutím sem můžete změnit nastavení reklam