Post/Redirect/Get or PRG in short is a common pattern used amongst many web applications, that was designed to prevent duplicate submissions of the forms. Not using such pattern may result e.g. in multiple transactions by POSTing the same form twice, which is something that we definitely do not want to see in our applications. Although, it’s quite easy to be implemented in it’s purest form, it’s a little bit more tricky if we want to save the input data provided by the user (let’s say the form has a lo...
Daj się poznać 2016 3113 dni, 4 godziny, 33 minuty temu 157 źrodło rozwiń
W poprzednim wpisie przyjrzeliśmy się kontrolerom oraz ich akcjom, natomiast teraz rzucimy okiem na filtry, czyli atrybuty, które można zastosować zarówno dla każdej z akcji jak i dla całego kontrolera. Atrybuty definiują nam sposób wykonania określonych akcji. W ASP.NET MVC mamy do dyspozycji kilka typów filtrów akcji:Filtry autoryzacji – są wywoływane na samym początku, przed pozostałymi filtrami i akcją. Decydują o możliwości wykonania metody po wcześniejszej autentykacji lub walidacji właściwości d...
Daj się poznać 2016 3123 dni, 16 godzin, 19 minut temu 86 źrodło rozwiń
Wstrzykiwanie zależności do walidatorów FluentValidation.
Sztuka programowania 3121 dni, 4 godziny, 27 minut temu 155 źrodło rozwiń
CSRF czyli Cross-Site Request Forgery jest to w skrócie zmuszenie przeglądarki ofiary do wykonania nieautoryzowanej akcji (za pomocą żądania HTTP). Ofiarą jest zalogowany do serwisu użytkownik. Celem takiego ataku może być podmiana danych w formularzu lub też wykonanie innej akcji np. stworzenie konta użytkownika z uprawnieniami admina. Wypadałoby się przed tym zabezpieczyć tworząc aplikacje webową. Na szczęście mechanizm zabezpieczeń otrzymujemy w ASP.NET MVC out of the box Pokażmy to na przykładzie....
Daj się poznać 2016 3126 dni, 56 minut temu 149 źrodło rozwiń
W tym wpisie przyjrzymy się kontrolerom w aplikacji ASP.NET MVC oraz akcjom, które mogą one zawierać. Kontrolery są odpowiedzialne za odpowiadanie na żądania użytkownika. Każde żądanie kierowane z przeglądarki jest obsługiwane przez określony kontroler. Przykładowo użytkownik klika przycisk odpowiadający za dodanie nowego wydarzenia, natomiast kontroler (EventsController) w odpowiedzi wyświetla odpowiedni widok. Akcja, która się w tym przypadku wykona jest zawarta w metodzie Create typu GET.C# // GET: Ev...
Daj się poznać 2016 3126 dni, 4 godziny, 22 minuty temu 148 źrodło rozwiń
Dwa słowa o udziale w hackathonie DevMuster, a następnie jak można wykorzystać AJAX w widokach ASP.NET MVC z odpowiednią paczką NuGetową.
Korzystając z Entity Frameworka warto zwracać uwagę na sposób pobierania danych. W przypadku, gdy nie będziemy ich modyfikować, a chcemy jedynie pobrać dane tylko do odczytu, przydatna okaże się metoda AsNoTracking(). Wywołanie metody skutkuje brakiem śledzenia danych przez kontekst. Dzięki temu nie marnujemy niepotrzebnie zasobów. Przyjrzyjmy się poniższemu przykładowi, w którym porównamy pobieranie danych z i bez metody AsNoTracking(). Na początek pobieramy dane standardowo. W tym celu modyfikujemy...
Daj się poznać 2016 3155 dni, 23 godziny, 26 minut temu 269 źrodło rozwiń
W dzisiejszym poście pokażę jak zintegrować FluentValidation z ASP.NET MVC5, na podstawie dodawania użytkownika.
It’s a new feature of new ASP.NET Core 1.0 If you have used old ASP.NET MVC, you should be familiar with Netonsoft Json CamelCasePropertyNamesContractResolver. Now in ASP.NET Core 1.0 you can configure it globally.
Daj się poznać 2016 3168 dni, 12 godzin, 57 minut temu 104 źrodło rozwiń
Czas lokalny na Microsoft Azure Websites.
I’ve recently seen a few articles about video streaming with raspberry pi using node.js streaming server and ffmpeg utility. It’s funny how easily you can create your own live video streaming with opensource tools and cheap mini-computer. But there are some problems with this approach. The highest resolution I was able to capture, encode and live stream was 160×120. It is too low to recognize people or plate numbers seen on the picture. There are also some network issues that make things...
Programowanie rozproszone 3360 dni, 5 godzin, 1 minutę temu 204 źrodło rozwiń
OObsługa błędów nigdy nie była łatwym zadaniem, ale w większości przypadków zawsze wiedziałem z czego mogę skorzystać. Myślałem że z ASP.NET MVC będzie podobnie, a może nawet lepiej (w końcu jest to dosyć dobrze przemyślana platforma, co wielokrotnie już podkreślałem na blogu) i po części tak jest w istocie - mamy tu wręcz nadmiar możliwości...
Sztuka programowania 3513 dni, 5 godzin, 33 minuty temu 398 źrodło rozwiń
ASP.NET MVC by default ships with two view engines: Web Forms and Razor. When we are creating a new ASP.NET MVC application both are being included in the application startup. Even when you are working with Razor only ASP.NET MVC resolves named views by searching for files that match the Web Forms view engine's naming convention at first. What can we do to change that and reduce the time needed to return a view to the end user? Let's have a look!
Do dzisiejszego wpisu zainspirowała mnie aplikacja, którą współtworzymy z Tymkiem Kęstowiczem. Potrzebowaliśmy połączyć naszą aplikację napisaną w MVC z bazą danych (tu wybór padł na MySQL). Zdecydowanie chcieliśmy uniknąć strzelania z armaty ...
Sztuka programowania 3589 dni, 12 godzin, 49 minut temu 280 źrodło rozwiń
Ostatnimi czasy w jednym z projektów pociągnąłem sobie aktualizacje bibliotek przez Nuget'a. A że byłem leniwy to pociągnąłem je jak leci, nie patrząc co aktualizuje o change logu poszczególnych bibliotek nie mówiąc. Nie róbcie tego w domu! Jedną z aktualizacji była nowa wersja mechanizmu ASP.Net Identity...
The article describes a simple solution to log client side JavaScript errors together with back-end exceptions. No additional library is needed, although ELMAH is handy at this point
How to compile/build/debug your MVC Views (*.cshtml files)
Each time we are creating application with some kind of menu it is nice to have the basic functionality to highlight selected menu item. There are some solutions you can find in the Internet, however each time I've tried to use one it hasn't been working perfect. So let's create our own in three steps!
Google Charts to świetne rozwiązanie, jeżeli potrzebujecie wykresów w swojej aplikacji. Właściwie spodobało mi się od razu po pierwszym użyciu i póki co nie szukam alternatywy (chociaż jeżeli korzystacie z jakiś przyjemnych bibliotek to chętnie poznam :-)). Integracja we własnym systemie jest w sumie prosta, chociaż trochę się nagimnastykowaliśmy, żeby odpowiednio do naszych potrzeb skonfigurować bardziej rozbudowane wykresy. Po przez bardziej rozbudowane mam na myśli np.. liniowy i kolumnowy na jednym ...
Sztuka programowania 3702 dni, 33 minuty temu 147 źrodło rozwiń
Main menuMain pageAboutContact Share article via: You've read lot of articles about advanced C# constructions, new features, frameworks, etc. and at the end you are opening your solution and you start looking... and thinking... what is wrong the hell? Why my project is so f* boring? I'd like to change something. I want to have the cool application, which I want to be proud of and compare this solution with the ones I've read about. If this situations happened before this article is for you...
Sztuka programowania 3705 dni, 5 godzin, 13 minut temu 154 źrodło rozwiń