dotnetomaniak.pl

dotnetomaniak.pl - Artykuły z tagiem ASP.NET MVC

Chciałem Wam dzisiaj przedstawić fajną bibliotekę dla .net opartą na wkhtmltopdf do generowania dokumentów PDF z kodu HTML. Bardzo długo szukałem optymalnego dla mnie rozwiązania, aż w końcu trafiłem właśnie na Rotativę. Próbowałem wielu rozwiązań, ale każde miało swoje wady. Długi czas próbowałem walczyć z iTextSharp, ale składnia dokumentu PDF była mocno odpychająca, a licencja nie była zachęcająca. Później trafiłem właśnie na wkhtmltopdf, ale i ta biblioteka miała dwie zasadnicze wady, które mnie znie...

Dziel się z innymi:
Rotativa – eleganckie dokumenty PDF z kodu HTML | devharmony

Narzędzia 1563 dni, 16 godzin, 13 minut temu emmetsa 421 rozwiń

Już kilka tygodni typu pisałem o ASP.NET MVC 5 Scaffolding. Jak wspomniałem, domyślny szablon nadaje się do prototypów albo tymczasowych aplikacji. W praktyce będziemy chcieli wykorzystać IoC i własne usługi, a nie bezpośrednio operować na bazie danych. Za pomocą własnego szablonu, można wszystko dostosować do konkretnego projektu i infrastruktury. Najpierw ściągamy pakiet szablonów VS z http://sidewaffle.com/. Oprócz tego, musimy zainstalować Visual Studio 2013 Update 2 oraz Visual Studio 2013 SDK. Na...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC 5: Własny szablon

Web 1636 dni, 14 godzin, 41 minut temu psz750 221 rozwiń

ASP.NET MVC dba o to, aby niemożliwe było dokonanie ataku CSRF. Nie musimy sami generować tokenów i wszystko zostanie obsłużone przez framework. Niestety czasami taka obsługa nie jest zbyt user-friendly. Ostatnio spotkałem następujący scenariusz:Otworzyłem stronę do logowania w dwóch osobnych tabach. Sesja jest więc współdzielona.W  pierwszej z nich, kliknąłem loguj. Token w tym momencie na serwerze jest unieważniany.W drugim tabie token wygenerowany i przechowany w ukrytym polu, nie pokrywa się już z ty...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC: Prawidłowa obsługa wyjątków AntiForgery

Web 1645 dni, 3 godziny, 51 minut temu psz750 231 rozwiń

Zwykle widoki nie są kompilowane aż do momentu publikacji i pierwszego zapytania. Czasami jednak warto, aby były one kompilowane w czasie pracy z kodem. Bardzo łatwo popełnić literówkę, która nie będzie wykryta aż do momentu, gdy użytkownik będzie chciał wejść na tą stronę. Przy wielu widokach jest to dość niewygodne i może okazać się bardzo uciążliwe.

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC: kompilacja widoków

Web 1665 dni, 19 godzin temu psz750 228 rozwiń

W poprzednim poście pisałem o podstawach Web API. Dzisiaj zajmiemy się obsługą błędów. Sprawdźmy najpierw, co stanie się, gdy nasz kontroler (patrz poprzedni wpis), zwróci jakiś wyjątek np.:public Person GetPersonById(int id) { if(id

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC Web API–obsługa błędów

Web 1675 dni, 3 godziny, 5 minut temu psz750 240 rozwiń

W ostatnim wpisie wyjaśniłem jak bardzo sesja wpływa na wydajność i skalowalność aplikacji. Dzisiaj chciałbym pokazać przykład i konkretne liczby, które pozwolą nam oszacować skalę problemu. Zacznijmy od ASP.NET MVC. Stworzymy trzy kontrolery:SessionlessCotroller – kontroler będzie miał zablokowaną sesję. SessionController – kontroler zapisuje dane do sesji. SessionReadOnlyController – kontroler ma dostęp tylko do odczytu. Kod:[SessionState(SessionStateBehavior.Required)] publicclass SessionController...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC, kontrolery a sesje: test wydajności

Web 1690 dni, 11 godzin, 52 minuty temu psz750 218 rozwiń

Synchronizacja i przechowywanie sesji może być bardzo niekorzystne dla wydajności aplikacji webowej. Wyobraźmy sobie, że użytkownik wywołuje kontroler kilkukrotnie w ramach tej samej sesji. ASP.NET MVC musi zadbać o to, aby sesja zawsze miała prawidłową wartość. Niestety jest to osiągane poprzez kolejkowanie zapytaniach w ramach tej samej sesji. Jeśli zatem wywołujemy dwukrotnie metodę A, nie zostanie to wykonane współbieżnie. Dobrą stroną takiego mechanizmu jest fakt, że zapis i odczyt sesji jest bezpie...

Piotr Zieliński » ASP.NET MVC: Wydajność kontrolerów a przechowywanie sesji

Web 1696 dni, 2 godziny, 51 minut temu psz750 258 rozwiń

Domyślnie ASP.NET MVC blokuje metody zwracające JSON, które wywołuje się za pomocą HTTP GET. Przykład:public ActionResult GetData() { return Json(new []{new Person("Piotr","Zielinski")}); } Wykonanie zakończy się wyjątkiem: This request has been blocked because sensitive information could be disclosed to third party web sites when this is used in a GET request. To allow GET requests, set JsonRequestBehavior to AllowGet. Z tego względu, programiści często wywołują Json z parametrem AllowGet:publi...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC: JSON i zwracanie danych za pomocą HTTP GET

Web 1704 dni, 1 minutę temu psz750 217 rozwiń

Kiedyś już o tym pisałem pobieżnie (kilka lat temu), ale dzisiaj chciałbym pokazać inny przykład wraz ze wszystkimi możliwymi parametrami. Stwórzmy najpierw  klasyczny formularz i kontroler: @using (Html.BeginForm()) { @Html.DropDownList("selectedGroup",new SelectList(new []{"All","GroupA","GroupB"})) <input type="submit" value="Refresh"> } Prosty formularz z ComboBox i przyciskiem, który powoduje ponowne załadowanie strony oraz wykonanie metody GetData z nowym parametrem:public ActionResul...

Dziel się z innymi:
Piotr Zieliński » ASP.NET MVC a Ajax

Web 1706 dni, 15 godzin, 47 minut temu psz750 295 rozwiń

Kilka wpisów wcześniej pisałem o atrybucie OutputCache. Dla prostych zastosowań sprawdza się dość dobrze, ale bardzo szybko można dostrzec jego ograniczenia i błędy. Przedstawmy najpierw kilka niedogodności związanych z OutputCache.

Dziel się z innymi:
Piotr Zieliński  »  ASP.NET MVC – caching za pomocą DonutOutputCache

Web 1724 dni, 44 minuty temu psz750 104 rozwiń

Hej. Bardzo lubię, kiedy życie zawodowe samo podsuwa mi pomysły na wpisu na tego bloga. Tak jest właśnie w tym przypadku – właśnie dziś musiałem sobie poradzić z opisywanym problemem czyli potrzebą zatwierdzania kilku części formularza kilkoma różnymi przyciskami submit. Starzy wyjadacze ASP.NET MVC pewnie doskonale wiedzą jak to zrobić, pewnie też znajdą się osoby, które powiedzą, że w ogóle tak nie powinno się robić, jednak ASP.NET MVC na to pozwala… Zresztą czasami spotykamy się z sytuacją niestandard...

Dziel się z innymi:
burczu programator - blog: Formularz z wieloma przyciskami submit – ASP.NET MVC

Web 1724 dni, 44 minuty temu burczu 154 rozwiń

CSRF jest dzisiaj bardzo dobrze znanym atakiem, ale niestety wciąż wiele aplikacji internetowych pozostaje niezabezpieczonych. W poście nie będę opisywał szczegółowo CSRF ponieważ w Internecie jest już od dawna mnóstwo informacji o tym. Chciałbym jednak pokazać jak dzięki ASP.NET MVC możemy w łatwy sposób uchronić się przed atakiem. W MVC standardowy formularz tworzymy w następujący sposób:@using (Html.BeginForm("Manage", "Account")) { } Następnie mamy w kontrolerze akcję implementującą obsług...

Piotr Zieliński  » Blog Archive   » ASP.NET MVC: Cross-Site Request Forgery

Web 1726 dni, 11 godzin, 44 minuty temu psz750 180 rozwiń

Witajcie w Coding News – serii screencastów, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.

Coding News 17.02.2014 | codingtv();

Web 1747 dni, 3 godziny, 3 minuty temu lukaszgasior 153 rozwiń

Until now we had many excuses for not writing integration tests:we prefer unit tests over integration testsour business logic (aka services) is separated and thoroughly testedwe keep our ontrollers on a dietUI consists mostly of standard elements (aka widgets) which are tested on their ownwe are lazy But there was still too much space for error. From time to time a seemingly innocent change in Razor view (or HTML helper, or filter, or “something completely irrelevant”) unexpectedly broke one of the page...

Dziel się z innymi:
[EN] How To Put Your Toe Into ASP.NET MVC Integration Testing | Just A Programmer

Sztuka programowania 1817 dni, 8 godzin, 9 minut temu Paweł Łukasik 103 rozwiń

Witajcie w Coding News – serii screencastów, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.

Coding News 02.12.2013 | codingtv(); - video-blog programistycznycodingtv(); – video-blog programistyczny

Web 1824 dni, 7 godzin, 43 minuty temu lukaszgasior 143 rozwiń

Witajcie w Coding News – serii screencastów, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.

Coding News 25.11.2013 | codingtv(); - video-blog programistycznycodingtv(); – video-blog programistyczny

Web 1831 dni, 9 godzin, 44 minuty temu lukaszgasior 100 rozwiń

Witajcie w Coding News – serii screencastów, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.

Coding News 18.11.2013 | codingtv(); - video-blog programistycznycodingtv(); – video-blog programistyczny

Web 1839 dni, 1 godzinę, 31 minut temu lukaszgasior 164 rozwiń

Leave a reply W ASP.Net z powodu bez stanowej natury aplikacji sieciowych w celu zapewnienia utrzymania sesji dostępny jest obiekt sesji. Zapis i odczyt z niego jest prosty wystarczy odwołać się do niego jak do słownika:this.Session["key"] = value; value2 = this.Session["key"]; Dziś nie chciał bym jednak pisać o tym jak używać sesji, lecz jak ją skonfigurować by zapewnić jej wydajną prace. Domyślnie działa ona w trybie In-Process. Przechowywana jest w pamięci procesu roboczego na web serwerze. Tryb...

Dziel się z innymi:
Asp.Net session state | ksciana's Weblog

Web 1849 dni, 14 godzin, 46 minut temu http://ksciana.wordpress.com/ 175 rozwiń

O wzorcach projektowych w ASP.NET MVC słyszał chyba każdy. Większość z nas przynajmniej raz widziała jakiś filmik instruktażowy bądź wideokonferencję promującą stosowanie właściwych wzorców na tej platformie. Jednakże po opanowaniu teorii przychodzi wreszcie pora na to, aby wcielić ją w życie. Co się wtedy okazuje?

Simple Solutions: O pomyłkach i wnioskach z pracy w ASP.NET MVC

Web 1866 dni, 14 godzin, 55 minut temu http://horusiath.blogspot.com/ 392 rozwiń

June was a month of conferences for .NET developers! We had Tech Ed North America, Norwegian Developers Conference, Tech Ed Europe and bunch more, but the biggest one was Microsoft Build Developer Conference.

Źródło: jj09.net
Dziel się z innymi:
Build 2013

Inne 1973 dni, 17 godzin, 16 minut temu jj09 66 rozwiń

1 2 3 4 5