Soci (Soczó Zsolt) szakmai blogja

2013.01.25.

Compression a 4.5-ös WCF-ben

Filed under: .NET,.NET 4.5,Szakmai élet — Soczó Zsolt @ 00:28

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

2013.01.24.

WCF Proxies: To Cache or Not to Cache?

Filed under: .NET,Szakmai élet — Soczó Zsolt @ 23:23

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

Filed under: Szakmai élet — Soczó Zsolt @ 19:38

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.

2013.01.22.

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

Filed under: .NET,Szakmai élet — Soczó Zsolt @ 16:17

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.

2013.01.20.

Utálatos WPF .NET memory leak

Filed under: .NET,Szakmai élet — Soczó Zsolt @ 21:04

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

Sysinternals procdump

Filed under: Szakmai élet — Soczó Zsolt @ 20:34

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. :)

2013.01.13.

HashSet.Add végtelen ciklus?

Filed under: .NET,C#,CLR,Szakmai élet — Soczó Zsolt @ 22:52

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?

Powered by WordPress