Archive for the ‘.NET’ Category
Static keyword is the source of all evil, well almost
Integrating WCF services with forms authentication
A colleague at work wanted to host a json wcf service inside a web application and call it from jquery on an aspx reataining all authentication info. The web app used forms authentication. Luckily jquery passed all authentication info but WCF didn’t use it.
Project Silk subjective review part 3 IoC a problem child
This is part 3 of my http://silk.codeplex.com/ review.
IoC miss usage is a most common problem in many applications and first thing I usually look at.
Project Silk subjective review part 2 no DDD, no CQRS and mighty handlers of doom
This is part 2 of my http://silk.codeplex.com/ review.
In docs there is no mention about DDD or CQRS. That’s great because app seems to be fairly simple and CRUD should suffice. But when you look at folder structure this pops up:
Hmmm so there is a domain, and a model (separate ? ) and there are some services…
Project Silk subjective review part 1
Microsoft’s Patterns & Practices published a new guidance called Silk (http://silk.codeplex.com/):
Project Silk provides guidance for building cross-browser web applications with a focus on client-side interactivity. These applications take advantage of the latest web standards like HTML5, CSS3 and ECMAScript 5 along with modern web technologies such as jQuery, Internet Explorer 9, and ASP.NET MVC3.
Inspired by Ayende’s review of a similar app I decided to write my own.
Read the rest of this entry »
[EN]Prism.WindsorExtensions – now as a Nuget Package
In the last post I announced an extension which allows you to use Prism aka CompositeWpf with Castle.Windsor as a dependency injection container. Now there is also a nuget package so it’s easy to add to your project as well with nuget as with openwrap.
[EN]Prism.WindsorExtensions – Use Castle.Windsor with Prism
I’ve been using Prism for quite a while now, but for me it had one serious flaw – it uses Unity by default and Castle.Windsor is my dependency injection container of choice. After looking around the internet i couldn’t find anything that was usable, so I decided to write my own prism extension. It’s on github here.
RubyGems w .NET
Każdy używający bibliotek open source w .NET pewnie natknął się na problem ich instalowania w swoich projektach. Pół biedy kiedy używamy tylko jednej biblioteki, gorzej gdy mają one zależności między sobą i na domiar złego w konkretnych wersjach. Sytuacja szczególnie się komplikuje, gdy chcemy te biblioteki zaktualizować.
Prezentacje z Mix10
Mix 2010 był już jakiś czas temu, co ważne prezentacje w formacie HiDef już są dostępne tutaj. BTW: polecam użycie downloadera.
Mono i CAB
Mono to otwarta implementacja środowiska .NET tworzona przez Novella – działa na linuxach i mac os.
Z ostatnich wiadomości: Microsoft obiecał, że nigdy nie będzie ścigał projektu mono o licencję, można przeczytać o tym na blogu Miguela, to może umocnić pozycję tego projektu, do tej pory niespecjalnie było wiadomo czy MSFT pozwie novella i zmusi do zamknięcia, więc raczej nie podchodziłem do projektu na 100% poważnie.
W Mono niestety nie uświadczysz WPF czy WCF, ale jest za to asp .net MVC. Jest też prawie 100% zgodność z Winsforms. Język C# jest w wersji 3.0 i obsługuje LINQ.
Dla Mono jest coś co się nazywa Mono Migration Analyzer (MoMA) – pozwala na sprawdzenie w jakim stopniu aplikacja będzie się uruchamiać na mono.
Wszystko fajnie, ale postanowiłem spróbować jak to wygląda w rzeczywistości na bardziej zaawansowanych aplikacjach. Wziąłem Smart Client Software Factory w wersji z kwietnia 2008, a konkretnie Quickstarts.BankTeller i przepuściłem przez MoMA, oto co dostałem:
Czyli w sumie nie jest źle! Dokładniejszy raport wygląda tak:
Pierwsza z uwag jest spowodowana tym, że w aplikacji jest wywoływana przeglądarka internerowa, której brakuje w Mono – co w sumie jest OK. Drugi brak już jest poważniejszy, ale z tego co kojarze jest w kolejce do zrobienia.
Czyli w sumie powinno się udać uruchomić aplikację w SCSF na linuxie – hmm to otwiera całkiem ciekawe możliwości. Teraz tylko muszę wybrać jakąś dystrybucję ( czy Polish Linux Distribution jeszcze żyje?) zainstalować na wirtualce i sprawdzić jak to działa w praktyce.
PS: Ostatnio pojawił się także ciekawy podcast Scotta Hanselmanna w tym temacie – do posłuchania tutaj.
