Archive for January, 2013

Compression a 4.5-ös WCF-ben

Friday, January 25th, 2013

Hoppá, már nem házilag kell megoldani. Jövő héten kipróbáljuk.

WCF Proxies: To Cache or Not to Cache?

Thursday, January 24th, 2013

Tömör konklúzió: ha küldünk át credentialokat, akkor a beépített ChannelFactory cache nem működik, kézzel kell cachelni. Ha nem (ez a ritkább), akkor megy magától.
Részletek itt.

Aggressive Inlining in the CLR 4.5 JIT

Thursday, January 24th, 2013

Ez érdekes, eddig csak megakadályozni lehetett, így már szimmetrikus a dolog. Persze, ettől még nem fogja inlineolni a jitter amit nem lehet, pl. virtuálisokat.

Perf counterek olvasása admin jogok nélkül

Tuesday, January 22nd, 2013

http://blogs.msdn.com/b/bclteam/archive/2006/09/08/746900.aspx

Az IIS appol identityt is bele lehet rakni a hivatkozott csoportba, csak kézzel kell beírni a nevét, nem lehet kiválasztani az explorer listájából.

Utálatos WPF .NET memory leak

Sunday, January 20th, 2013

Vannak aranyosak, de ez ronda, sunyi. De könnyű megoldani a cikk alapján.

Sysinternals procdump

Sunday, January 20th, 2013

Végre van egy jó kis okos dumpoló eszköz. Ami szopó volt eddig pl., ha 64 biten taskmanaggerrel csinálsz egy 32 bites processzről dumpot, akkor azt nem lehet rendesen elemezni pl. sos-sel.
Persze van 32 bites task manager is: C:\Windows\SysWOW64\taskmgr.exe. Ezzel már jó a dump.

De a procdump automatikusan jó dumpot készít, nem kell variálni. Like.

Ráadásul mindenféle feltételek mellett is képes dumpt készíteni, pl. lefagyásnál vagy exceptionnél, hasonlóan mint eddig az adplus iishez. Like very much. :)

HashSet.Add végtelen ciklus?

Sunday, January 13th, 2013

HashSetbe akartam berakni hibernate entitásokat, amelyek Equals-sza és GetHashCode-ja így nézett ki:

public virtual bool Equals(EntityBase other)
{
if (other == null)
{
return false;
}
if (Id == 0)
{
//Transient object
return ReferenceEquals(this, other);
}
return other.Id == Id;
}

public override bool Equals(object obj)
{
if (!(obj is EntityBase))
{
return false;
}
return Equals((EntityBase)obj);
}

public override int GetHashCode()
{
return Id;
}

A HashSet.Add-nak beadva egy ilyen entitás példányt az Add soha nem tért vissza, végtelen ciklusba került. Miért?