• ú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
    TOOMIX
    TOOMIX --- ---
    TOOMIX:

    problém se zakódováním kláves vyřešen. Kdyby se to někomu hodilo, tady je řešení, aby se s tim nemusel srát 3 dny, jako já

    Při nastavování strignu, který se má zakódovat do barkódu, se nesmí stisk kláves zadávat přímo z ASCII - například $I pro TAB nebo $M pro Enter, ale musí se do stringu dát klávesa v podobě dané tabulkou "ASCII control code chart" z http://en.wikipedia.org/wiki/ASCII Použije se sloupec označen jako C. Takže pokud do barkódu v XtraReports pošlu string ve formátu 123456$I, ze čtečky mi přijde prostý string "123456$I". Pokud tam pošlu string ve formátu 123456\t, barkód z XtraReport si to nějak interně převede a výstupem je napsání 123456 a zmáčknutí TABu.
    MICA
    MICA --- ---
    TOOMIX: A čtečku do Full ASCI nastavenou máš? :)
    TOOMIX
    TOOMIX --- ---
    Neřešil jste někdo náhodou tvorbu čárových kódů pomocí DevExpress.XtraReports? Potřebuju do toho čárovýho kódu ještě zakompomovat stisknutí klávesy, jenže to nějak nefunguje. Chci například udělat, aby se do textboxu vyplnilo číslo z kódu a zároveň se stiskla klávesa TAB.

    podle týhle stránky je symbol pro TAB $I. Štítek má datasource z Listu, a v něm je to uložený jako třeba "111222$I", přičemž na štítku pak mám to samý, místo toho, aby to rozpoznalo, že má napsat 111222 a zmáčknout tab. Zkoušel jsem všechny můžný kódy pro TAB, Enter atd...ale žádnej nefunguje. Bold písmo mám. Nějaký nápad? Díky
    PAJIN
    PAJIN --- ---
    MARASAN: Prvne bych zkusil soapUI a porovnal to s tim requestem co vygeneruje.
    a pak jeste zalezi jak je nastavenej ten endpoint,obcas je potreba pridat action i do hlavicky takhle:
    Content-Type: application/soap+xml;charset=UTF-8;action="MOJE_AKCE_VCETNE_NAMESPACE"

    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    NECROMAN: nejspíš jsi neprorazil spam filter :-) už jsem ji na web hodil. Díky
    NECROMAN
    NECROMAN --- ---
    NECROMAN: jo a jeste tam planuji zminit postupy pro cachovani requestu a obrazku, to je take celkem veda a dost frameworku, ktere se tomu venuji, bud zasekavaji UI thread nebo treba neresi pouziti ve virtualizovanych listech.
    NECROMAN
    NECROMAN --- ---
    SLUPKA: posilal jsem ji pred tydnem, ale ted maji asi praci s Brnenskym MS festem, tak to zapadlo:
    "Tipy, triky a hacky pro vývoj Windows Phone a Windows 8 aplikací"
    Anotace:
    Ty nejzajímavější poznatky posbírané za dva roky vývoje pro platformu Windows Phone 7 a 8 a rok programování Windows 8 a 8.1 aplikací, aneb co se na MSDN a StackOverflow nedočtete.

    Jeste davam dohromady, cemu se presne venovat, protoze to je dost siroke tema. Ctvrtinu bych asi venoval tipum, jak si usnadnit vyvoj pro obe platformy dohromady s tim, ze popisu i to, co se na "klasickych MVVM/Portable libs" prednaskach vubec nezminuje. Dale cast venuji celkem neznamemu problemu memory leaku u WP platformy predevsim u pouziti nekterych nativnich UserControls a treba i obycejnych Images. Dale popisu triky a chytaky, kdyz se pracuje ve WP aplikaci s WebBrowserem nebo ve Windows 8 WebView, a na konec jeste par drobnosti, kde ruzne haze MS vyvojarum klacky pod nohy.

    Pokud je nejaky konkretni dotaz ci namet, tak sem s nim a mohu ho tam pridat :)
    SLUPKA
    SLUPKA --- ---
    NECROMAN: Máš nějakou anotaci? :) Na webu ještě není :)
    LADY_LEIA
    LADY_LEIA --- ---
    NECROMAN: ja uvazuju, ze se stavim v nedeli.
    MICA
    MICA --- ---
    NECROMAN: Taky se jdu v neděli podívat :)
    P19
    P19 --- ---
    NECROMAN: já jdu určitě v neděli a možná i v sobotu.
    NECROMAN
    NECROMAN --- ---
    Uvidim se s nekym na MS festu?
    MS Fest 2013
    http://www.ms-fest.cz/
    Ja budu v nedeli ted v Brne, a v Praze budu mit i jedno povidani o tricich pri vyvoji pro Windows Phone a Windows 8, kdyby byl zajem.
    MILL
    MILL --- ---
    Nemate nekdo odzkousene napojeni na office365 ? Konkretne potrebuju zapisovat do kalendare udalosti a tyto potom zpetne synchronizovat v pripade zmeny v office365 zpet do firemniho webu.
    NECROMAN
    NECROMAN --- ---
    Jeden dev clanek, co jsem dal dohromady:
    Shared localization for Windows Phone 8 and Windows 8 apps using Portable Class Libraries
    Shared localization for Windows Phone 8 and Windows 8 apps using Portable Class Libraries « Martin Suchan – BloQ
    http://suchan.cz/?p=179
    MICA
    MICA --- ---
    PAJIN: Díky moc, díky Fiddleru se mi to povedlo vypátrat. Bylo to způsobeno nově
    přidaným parametrem požadovaným při loginu. Bez něj se sice šlo zalogovat ale jeden z parametrů v cookies byl vygenerován špatně, a proto docházelo k chybám při volání API.
    MICA
    MICA --- ---
    PAJIN: Oh, zkusím tedy fiddler. Mám totiž trochu podezření, že jquery do https requestů přidává ještě nějaké parametry nebo headery, které v http requestech chybí
    PAJIN
    PAJIN --- ---
    MICA: Ja kdyz sem resil neco podobnyho tak nez etheral/wireshark se me osvedcil fiddler, kde je to videt lip. Postupne sem upravoval ten muj request aby mel stejny data jako z prohlizece
    MICA
    MICA --- ---
    MICA: Koukám že jsem nenapostoval komunikaci v obou směrech

    jquery (Firefox)


    WebRequest

    MICA
    MICA --- ---
    JACHYMKO:
    1) Dojde k vyjímce
    WebException - "The remote server returned an error: (502) Bad Gateway."
    a WebExceptionStatus.ProtocolError vrátí json odpověď
    "{\"message\":\"You are not allowed to purchase this listing. The Community Market might be temporarily disabled or your account might be restricted from using the Community Market.\"}"
    (Můj účet ale zablokovaný není, přes js mi to API funguje bez problémů)

    2) ah, bezhlavý copypasting *facepalm*. tojejedno.com je webovka, která o NTLM/Kerberos ani nezavadí
    MICA
    MICA --- ---
    Nemáte náhodou někdo zkušenosti s přistupováním na HTTPS přes WebRequest a zároveň znalost jquery/javascriptu?

    Zabývám se přepisem následující z jquery funkce, která zadává požadavek jistému API, do C# přes WebRequest

    		$J.ajax( {
    			url: 'https://tojejedno.com/neconeco/buylisting/' + listingid,
    			type: 'POST',
    			data: {
    				sessionid: g_sessionID,
    				currency: g_rgWalletInfo['wallet_currency'],
    				subtotal: this.m_nSubtotal,
    				fee: this.m_nFeeAmount,
    				total: this.m_nTotal
    			},
    			crossDomain: true,
    			xhrFields: { withCredentials: true }
    		
    //Zbytek funkce už je nepodstatný
    		} ).done( function ( data ) {
    			BuyItemDialog.OnSuccess( { responseJSON: data } );
    		} ).fail( function( jqxhr ) {
    			// jquery doesn't parse json on fail
    			var data = $J.parseJSON( jqxhr.responseText );
    			BuyItemDialog.OnFailure( { responseJSON: data } );
    		} );
    
    


    Určitou dobu mi to fungovalo s následujícím kódem, jenže provider API nejspíš přidal nějaké zpřísňující
    kritérium a požadavky na API mi teď nefungují. Provider API je vyhodnotí jako chybné.

                        HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
    
                        request.Method = "POST";
                        request.Timeout = 10000;
    
                        //Headery zachycene pres wireshark
                        request.Host = "tojejedno.com";
                        request.KeepAlive = true;
                        request.Accept = "*/*";
                        request.Headers.Add("Origin", "http://tojejedno.com");
                        request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0";
                        request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
                        request.Referer = "http://tojejedno.com/neconeco/";
    
                        request.Headers.Add("Accept-Encoding","gzip,deflate,sdch");
                        request.Headers.Add("Accept-Language", "en-US ,en;q=0.8");
                        
                        //Cookies
                        request.CookieContainer = cookies ?? new CookieContainer();
    
                        //Divociny kolem SSL
                        request.Proxy = null;
                        request.Credentials = CredentialCache.DefaultCredentials;
    
                        ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
    
    
                        //Zpracovani dat, ktera budou odeslana POST metodou
                        string dataString = String.Join("&", Array.ConvertAll(data.AllKeys, key =>
                            String.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(data[key]))
                        )
                        );
                        byte[] dataBytes = Encoding.ASCII.GetBytes(dataString);
                        request.ContentLength = dataBytes.Length;
                        Stream requestStream = request.GetRequestStream();
                        requestStream.Write(dataBytes, 0, dataBytes.Length);
                    
                        //Ziskani odezvy
                        HttpWebResponse resp = (HttpWebResponse)request.GetResponse();
    
                        return resp;
    



    Jsem si jistý, že odesílám správná data a že v cookies mám všechny parametry, které API vyžaduje.
    Ale ze dne na den mi výše uvedený kód přestal fungovat. Tak jsem se rozhodl podívat na to co se
    děje na síti i přesto, že je komunikace šifrovaná a přišel jsem na to, že WebRequest přistupuje
    na rozdíl od Firefoxu k tomu HTTPS API jinak a zdá se, že špatně:

    Tohle generuje Firefox


    Tohle generuje můj kód


    Bohužel SSL a síťažina vůbec není moje silná stránka, takže nevím kde hledat zakopaného psa. Neměli byste někdo nějaký tip?
    H_U_N_T_E_R
    H_U_N_T_E_R --- ---
    Spuštěny registrace na MSFest:
    MS Fest 2013
    http://www.ms-fest.cz/
    Kliknutím sem můžete změnit nastavení reklam