• ú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
    MILASEK
    MILASEK --- ---
    Ahoj,

    potřeboval bych poradit s problémem .NET, komunikace pomocí soap.
    Nášemu klientovi se nedaří s námi spojit a provést autorizovaný request. Standardně máme komunikaci naprogramovanou v PHP, proto mu bohužel nedokážeme poradit.

    wsdl pro soap zde https://elogist.comgate.cz/api/soap?wsdl

    K našemu serveru se přihlašuje pomocí http basic autentizace. Klientovi se to ovšem nedaří, i když vyplní autorizační hlavičku, k nám dorazí jako neautorizovaný. Máte s tím někdo zkušenosti? Případně nám něco chybí pro bezproblémovou komunikaci s .NET klientem?

    Díky

    NECROMAN
    NECROMAN --- ---
    Par mych dojmu z MWC Microsoft dev prednasky:

    ...Zajimavejsi byly dev session odpoledne - Microsoft mluvil o novych prvcich pro vyvoj Windows 10 Universal apps - bylo potvrzeno, ze u Windows 10 bude opravdu uz jen 1 projekt, jeden appx a pobezi vsude. Nove panely: SplitView pro hamburger navigaci, RelativePanel pro relativni pozicovani prvku vedle sebe, XAML Views - neco jako partial classes, ale pro XAML, kdy lze definovat ruzny XAML pro ruzne platformy. Dale bylo ukazovano, jak bude fungovat zmena layoutu u mobilu/tabletu/desktopu/xboxu, pomoci takoveho vylepseneho a jednodussiho VisualStateManageru. Byla tam i moznost osahat si betu noveho Visual Studia s Windows 10 SDK + nejake challenges, kde jsem nakonec ziskal bezdratovou Fatboy podlozku pro mobil :)

    Zatim to nevypada, ze bude dostupna beta toho SDK pred Build konferenci, ale kdo vi. Pro me byla ta odpoledni session mile prekvapeni, fakt jsem necekal, ze Microsoft bude mluvit o Windows 10 SDK jeste pred Build konferenci, a bez NDA.
    NECROMAN
    NECROMAN --- ---
    Je venku Visual Studio 2015 CTP6 a Team Foundation Server 2015 CTP1
    Visual Studio 2015 CTP 6 and Team Foundation Server 2015 CTP Released - The Visual Studio Blog - Site Home - MSDN Blogs
    http://blogs.msdn.com/.../visual-studio-2015-ctp-6-and-team-foundation-server-2015-ctp-released.aspx

    A dokonce vyslo i Microsoft Band Preview SDK
    Microsoft Band - Developers
    http://developer.microsoftband.com/
    FREELA
    FREELA --- ---
    Nejaka free nebo levna knihovna na pdf -> docx konverzi? Vsude chteji 500-800$ :(
    PJOTRIK
    PJOTRIK --- ---
    MORMEGIL: Jo, jde mi hlavne o pouziti a ne nutne jen u funkci, hodne by se mi libilo kdybych mohl psat veci jako
    (bla, ble, blo) = "aaa,bbb,ccc".Split(',');


    za link diky, treba pattern matching by byl taky fajn
    MORMEGIL
    MORMEGIL --- ---
    PJOTRIK: Nejsem si jist, jestli chápu. Myslíš tím syntaxi skriptovacích jazyků typu
    success, result_list = do_something(blabla)
    ?
    To v C# možná třeba v C# 7 bude, ale ta syntaxe zjednodušuje _použití_ té funkce, ale nic nemění na tom, že ta metoda nějaký konkrétní typ mít musí (na rozdíl od netypovaných skriptovacích jazyků) a tím bude právě takovýhle nějaký Tuple nebo něco podobného.
    PJOTRIK
    PJOTRIK --- ---
    Jinak podobny navratovy typy jako
    Tuple<List<T>, List<T>, List<Tuple<T, T>>>
    jsou jedna vec co me na c# docela stve, chybi mi ta moznost prirazovat seznam do seznamu jako typicky v skriptovacich jazycich. Nemate nekdo prehled jestli se chysta nejaka sikovna ficura v tomhle smeru?
    PJOTRIK
    PJOTRIK --- ---
    JULIEEHARSHAW: jako jo, to o premature optimization vsichni zname, ale tady srovnavame reseni ktery je primocary a v pripade takovyhleho zabaleni do metody i lip citelny s resenim ktery je neefektivni a v budoucim ctenari vyvola akorat zmateni proc se tam vsechny ty operace delaji a jestli tam neni nejaky nenapadny sideefect. Za me je vitez jasny - mluvim teda o pripade kdy ten kod pisu, u existujiciho otestovanyho kodu bych to bez duvodu nemenil.
    MORMEGIL
    MORMEGIL --- ---
    NECROMAN: Takže bych to viděl třeba jako (převod z T[] na IEnumerable<T> ponechán jako cvičení čtenáři):

    private static Tuple<List<T>, List<T>, List<Tuple<T, T>>> CompareItems<T>(T[] oldItems, T[] newItems)
    	where T : IComparable<T>
    {
    	var i1 = 0;
    	var i2 = 0;
    	var onlyOld = new List<T>();
    	var onlyNew = new List<T>();
    	var pairs = new List<Tuple<T, T>>();
    
    	while (i1 < oldItems.Length || i2 < newItems.Length)
    	{
    		var compare = i1 < oldItems.Length && i2 < newItems.Length
    			? oldItems[i1].CompareTo(newItems[i2])
    			: i1 >= oldItems.Length ? +1 : -1;
    
    		if (compare == 0)
    		{
    			pairs.Add(Tuple.Create(oldItems[i1++], newItems[i2++]));
    		}
    		else if (compare > 0)
    		{
    			onlyNew.Add(newItems[i2++]);
    		}
    		else //if (compare < 0)
    		{
    			onlyOld.Add(oldItems[i1++]);
    		}
    	}
    
    	return Tuple.Create(onlyOld, onlyNew, pairs);
    }
    
    PJOTRIK
    PJOTRIK --- ---
    NECROMAN: Pokud to mas serazene, tak jednoduse jedna iterace, porovnanim vyber ve kterem listu se mas posunout a prihod prvek/y do spravneho seznamu. Takhle to prochazis zbytecne cele nekolikrat
    VERLIBA
    VERLIBA --- ---
    VERLIBA: radeji iteratory nez indexy
    VERLIBA
    VERLIBA --- ---
    NECROMAN: obavam se ze pro nejoptimalnejsi reseni budes potrebovat sahnout ke dvema indexum, (jeden v A druhy v B) a dokud obe indexy nebudou na konci, tak iterovat, a v kazde iteraci se rozhodovat, co udelas sanymi prvky.. Jinak exstuje urcite hodne suboptimalnich reseni, ktera budou krasnejsi na pohled.
    NECROMAN
    NECROMAN --- ---
    Jeden algoritmicky dotaz, mam dva Listy A a B s objekty typu P.
    Jak v C# co nejefektivneji ziskat seznam prvku, ktere jsou jenom v A, jen v B a potom seznam Tuplu prvku, ktere jsou v obou listech, vzdy Tuple<P,P> kde prvni prvek je z A a druhy z B?
    Ted mam toto a premyslim, zda to udelat efektivneji, aby se zbytecne nealokovala pole a nebylo tam vice pruchodu navic.
    Predpoklad je, ze pole jsou jiz sesortovane.

    private static IEnumerable<T> CompareItems<T>(T[] oldItems, T[] newItems)
    {
    T[] removedItems = oldItems.Except(newItems).ToArray();
    T[] addedItems = newItems.Except(oldItems).ToArray();

    T[] sameOld = oldItems.Except(removedItems).ToArray();
    T[] sameNew = newItems.Except(addedItems).ToArray();
    Tuple<T, T>[] zip = sameOld.Zip(sameNew, (i1, i2) => new Tuple<T, T>(i1, i2)).ToArray();
    }
    P19
    P19 --- ---
    JULIEEHARSHAW: Jj, mám, díky. Vyzkouším.
    P19
    P19 --- ---
    MORMEGIL: Jo takhle. Tak díky, už je mi to jasný.
    MORMEGIL
    MORMEGIL --- ---
    P19: Hlavička sestává z klíče a hodnoty, přičemž klíč je od hodnoty oddělen dvojtečkou. V tomto případě tedy: Klíčem (označením hlavičky) je „Content-Type“, hodnotou této hlavičky je „text/plain; charset=UTF-16“. Nic víc, nic míň. Ale taktéž bych se přimlouval raději za UTF-8 místo UTF-16…
    P19
    P19 --- ---
    JULIEEHARSHAW: No dobře, a to tam přidám jak? message.Header.Add přijímá klíč value. Tak co je klíč? Content-Type a druhý klíč je charset?
    Nebo tomu teda nerozumím.
    VERLIBA
    VERLIBA --- ---
    PECA: to posledni cislo je tusim build, ne ? Takze paklize pro dva ruzne buildy zmenis API, pak asi neco spatne. Zkus pri zmene api amenit alespon tu treti pozici, ne-li druhou nebo prvni.
    PECA
    PECA --- ---
    JULIEEHARSHAW: To je mi jasný, akorát jsem až doteď nevěděl, že poslední 2 čísla se neberou jako jiná verze. Takže tím pádem mi to přijde ještě záhadnější. Holt to musím ještě vyzkoušet.
    PECA
    PECA --- ---
    JULIEEHARSHAW: Tak to potom nechápu, proč selhalo načítání assembly funkce.dll (uvedený soubor nebyl nalezen). Podle fuslogu se (díky volání z win32 aplikace) natáhl modul1, který si natáhl funkce (verze 1.0.0.1). Později se zavolal modul2, který se pokoušel natáhnout funkce.dll (verze 1.0.0.2), ale toto načtení selhalo. Podle fuslogu se funkce.dll hledaly vedle exe, pak ve složce s modul1 a tam to zheblo. Měl jsem dojem, že právě kvůli blbý verzi.

    Tak to holt ještě jednou vyzkouším a pokud to nepůjde, budou se oba moduly deployovat spolu. Ono to bude celkem jedno. akorát že vícero win32 apps volá modul1, ale jenom jedna volá i modul2, tak jsem to nechtěl cpát úplně všude. Ale v zásadě jde o prd, až na moduly samotné je deployment prakticky totožný...
    Kliknutím sem můžete změnit nastavení reklam