• ú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
    MICA
    MICA --- ---
    VIRTUALVOID: Asi nějakej Reflector hater :)
    VIRTUALVOID
    VIRTUALVOID --- ---
    minus? :-/
    NECROMAN
    NECROMAN --- ---
    Dotaz - v ASP.NET MVC 3 pokud v nejake akci vratim
    return File(stream, contentType) a v tom streamu je otevreny FIleStream, kdy a jestli vubec se ten stream zavre? Je to nejak jasne dano, nebo to zalezi, kdyz se to v prohlizeci stahne a tak?
    NECROMAN
    NECROMAN --- ---
    VIRTUALVOID: pokud to nebude nejak brutalne obfuskovane
    VIRTUALVOID
    VIRTUALVOID --- ---
    MICA: ale nic ti nebrani urobit "CopyPasta" programovanie :) alebo po nasom je to "kolmý pajc" :D
    MICA
    MICA --- ---
    NECROMAN:
    Can I use the Paint.NET libraries (DLLs) in my own software or application?
    No. Paint.NET is only licensed for use as an application, and any use of Paint.NET in other software is strictly prohibited.
    NECROMAN
    NECROMAN --- ---
    MICA: co treba zdrojaky Paint.NET, pokud jsou?
    MICA
    MICA --- ---
    Dělám na softu, který momentálně jen ovládá různé fotoaparáty a potřeboval bych do něj zabudovat i zpracováváním
    fotek (Něco na způsob LightRoomu a Photoshopu) a to jak v JPEG formátu tak ideálně i v RAW.
    Nemáte někdo odzkoušenou nějakou takovou .NET knihovnu? (Ideálně za nějaký rozumný peníz)
    NECROMAN
    NECROMAN --- ---
    JACHYMKO: Jo, pomohlo, diky! :)
    VIRTUALVOID
    VIRTUALVOID --- ---
    tak je to ono, account pod ktorym ti bezi iis resp. app pool sajty kde mas tu slzbu nema ten kom nainstalovany...
    NECROMAN
    NECROMAN --- ---
    VIRTUALVOID: jako chybu ot hlasi:
    Retrieving the COM class factory for component with CLSID {A8F57566-79B7-48F3-B439-979373CFFF94} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
    VIRTUALVOID
    VIRTUALVOID --- ---
    pozri app pool a jeho login ci ma na to dany user pod ktorym bezi pravo... mozno je to blbost ale skus
    NECROMAN
    NECROMAN --- ---
    vite nekdo, jak pustit v IIS WCF sluzbu, ktera pouziva non=managed com knihovny? Kdyz to testuju normalne v binu, tak to funguje, ale v IIS to aplikace nemuze najit... je treba pouzit nejake specialni postupy?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    SMOKY: Hmm. To by asi slo. Kdyz by se zmenila tabulka, zapsala by se zmena do logovaci tabulky, na ty by byla povesena dependency, aplikace by si precetla zmeny, a zareagovala.
    SMOKY
    SMOKY --- ---
    TENCOKACISTROMY: Trigger + tabulka zmen ?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Tak SqlDependency uz jede. Mam ale problem, ze z ni nezjistim jaky radky se zmenily (insert/update/delete). Nemate napad, jak to zjistit?

    Napadlo me, ze bych si tam k zaznamum dal casovy razitka, jenze to mi nevyresi smazany zaznamy.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    TENCOKACISTROMY: Tak vyreseno dle Using SqlDependency for data change events. Nazev tabulky tam musi byt vcetne nazvu schematu (cili "dbo.tblLoginToken").
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Pracoval jste nekdo se tridou SqlDependency? Nejak mi to nechce fungovat :/.

    Vytvorim si tu dependency (metoda Init() z kodu nize) a pusti se mi ta udalost jen jednou, i kdyz menim data v tabulce :/.

    Vystup:
    cnn.State: Open
    dependency_OnChange {
            Info = Invalid,
            Source = Statement,
            Type = Subscribe
    /****************************************/
            cnn.State = Open
    }
    
    Kod:
    	public class SqlBasedCache {
    		SqlConnection cnn;
    		SqlDependency dependency;
    		public void Init( SqlConnection connection ) {
    			if (connection.State != System.Data.ConnectionState.Open) {
    				connection.Open();
    			}
    
    			this.cnn = connection;
    
    			var cmd = connection.CreateCommand();
    			cmd.CommandText = "SELECT LoginToken, IDAccount, IDPlayer FROM tblLoginToken";
    
    			var permission = new SqlClientPermission( System.Security.Permissions.PermissionState.Unrestricted );
    			permission.Demand();
    
    			this.dependency = new SqlDependency( cmd, null, 0 );
    			var rsltStart = SqlDependency.Start( connection.ConnectionString );
    
    			this.dependency.OnChange += new OnChangeEventHandler( dependency_OnChange );
    
    			using (var reader = cmd.ExecuteReader()) {
    				while (reader.Read()) {
    					/* do nothing */
    				}
    			}
    		}
    
    		void dependency_OnChange( object sender, SqlNotificationEventArgs e ) {
    			var sbMsg = new StringBuilder();
    			sbMsg.AppendLine( "dependency_OnChange {" )
    				.Append( "\t" ).Append( "Info = " ).Append( e.Info ).AppendLine( "," )
    				.Append( "\t" ).Append( "Source = " ).Append( e.Source ).AppendLine( "," )
    				.Append( "\t" ).Append( "Type = " ).Append( e.Type ).AppendLine()
    				.AppendLine( "/****************************************/" )
    				.Append( "\t" ).Append( "cnn.State = " ).AppendLine( cnn.State.ToString() )
    				.AppendLine( "}" );
    
    			var strMsg = sbMsg.ToString();
    			Console.WriteLine( strMsg );
    		}
    	}
    
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    BUTHRAKAUR: Ten token sam o sobe zadny ID neobsahuje. ID uzivatele mam zapsany ve dvojici s tim loginTokenem ted na serveru v Cache. Ale trida Cache neni urcena pro takovyhle veci (a tak se lehce stane, ze ten loginToken z pameti zmizi).

    BUTHRAKAUR: Zajimavej napad, zamyslim se nad tim.
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    TENCOKACISTROMY: slo mi o to, ze pak nemusis resit ten persistentni stav sluzby/session, ale jednoduse si pokazdy z tokenu desifrujes to userId..
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    TENCOKACISTROMY: ja myslel sifrovat ciste jen ten token - to prece nebude nic vypocetne narocnyho, kdyz obsahuje jen to userId..

    NECROMAN: zalezi, jak presne pracujes s tema WCF client proxy - zpusobu je vic a ja to ted z hlavy neznam, protoze to nepouzivam primo. hledal bych ale spis problem v tom WCF volani nez MVC.. + to, co jsi psal s tim lockovanim jsem nejak nepochopil. jestli tam nejak sam resis vlakna, tak to muze bejt taky problem :)
    Kliknutím sem můžete změnit nastavení reklam