Hej Mirki. Pracuję nad web appem, gdzie FE jest w angularze i mam problem z ustaleniem odpowiedniej konwencji dla obsługi powrotnych statusów z kodami błędów.
Mam na myśli, nie zwracanie prostego BadRequestu ale opakowanie kodów błędów w jakiś model, który mógłby być prosto interpretowany w Angularze.

Więc mam ustalony cel i uważam, że to dobry pomysł ale kompletnie nie mam pomysłu jak to zrealizować. Tzn. za każdym razem zatrzymuje się w momencie gdy dowolnyService zwraca np. Failed z komunikatem błędu do kontrolera (lub komunikatami!) i no właśnie tu po pierwsze błąd może wynikać z błędnej autoryzacji, błędnej walidacji czegoś tam głęboko w Service i generalnie co, mam to znowu sobie rozdzielać w kontrolerze na inne błędy? I nawet to bym przeżył ale znowu należy poprawnie ponazywać i potworzyć modele iiiii no sam nie wiem.

Znacie jakiś fajny artykuł na ten temat?
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@w_o_w: najlepiej chyba dorzucic do pipeline jakis ErrorHandlerMiddleware ktory bedzie lapal wyjatki rzucane przez serwisy, repozytoria lub obiekty domenowe. Niech te obiekty rzucaja wyjatki w sensowny sposob - np. te dotyczace autoryzacji niech beda UnauthorizedAccessException, te z serwisow ServiceException (wlasna klasa dziedziczaca po Exception itp.
Middleware niech na podstawie tego co zlapal (pattern matching) ustawia odpowiedni http status code odpowiedzi i w payload zwraca jakies dodatkowe info w stylu kod
  • Odpowiedz
@w_o_w: z kolei na froncie daj inny middleware do serwisu obslugjacego zapytania http / fetch. Znane mi frameworki (vue i aurelia ale zakladam ze i kazdy inny sensowny) daja mozliwosc ustawienia interceptorow na wszystkie żądania wychodzace / odpowiedzi wracajace. Mozna wiec w pipeline wstrzyknac prosta kontrole ktora sprawdza jaki kod wrocil z backendu i jezeli jest to cos innego niz 2XX to robi reject na promisie oraz wyswietla np. modala
  • Odpowiedz
Czy (a jeżeli tak - to jak?) da się wymusić by w #aspnet był używany Newtonsoftowy Deserializer zamiast domyślnego? Różnych podejść ze #stackoverflow próbowałem, ale niestety bez sukcesu ( ͡° ʖ̯ ͡°) Potrafię sobie ręcznie wyciągnąć content z requesta i go deserializować, ale chciałbym wykorzystać wbudowany mechanizm (czyli obiekt jest w parametrze akcji controllera), tylko żeby korzystał z Json.NET (w tym konkretnym przypadku zależy
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@meetom: zły przykład wysłałem, ale generalnie tam możesz określić w jaki sposób dane z requesta będą sczytywane.
W ControllerContext.HttpContext znajduje się body requesta, które możesz wczytać do stringa i zdeserializować czym chcesz.
  • Odpowiedz
#programowanie #csharp #dotnet #aspnet #sql #uml

Witajcie wykopki,
Otóż jutro idę na rozmowę o pracę jako junior .net. Ponieważ rozmowa(test) jest na temat c#, .net, SQL oraz UML. I tu jest moje pytanie z czego mogą paść pytania z SQL oraz UML`a ?
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mircy jakbyście podeszli do pisania dwuosobowej gry w asp.net ?

gra np. w statki z czatem + pierdoły typu zapisywanie gry i tryb obserwatora.
Wszystko jak najbardziej asynchronicznie.
W apkach deskopowych bym sobie poradził bez trudu, tutaj natomiast nie wiem czego mam się nauczyć najpierw i jakie technologie wykorzystać gdyż w webie w ogóle nie robię (kiedyś coś tam kodziłem w PHP i obiecałem sobie że nigdy więcej webu od tamtej pory, ale wróciłem na studia i wypada oddać projekt).
Wolałbym nie używać zewnętrznych bibliotek, raczej sam JS, HTML no i c# po stronie serwerowej do obsługi SQL.
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 2
@Luntri cała logikę napisz sobie tak jakby to był desktop. Ona nie powinna mieć znaczenia, powinna być odseparowana zarówno od bazy jak i UI. Tak jak kolega wyżej mówi, w UI polecam signalR, bo wtedy Cię nie interesuje w jaki sposób będą notyfikacje wysyłane (biblioteka sama zadba, żeby użyć odpowiedniej technologii w zależności co serwer obsługuje). A do bazy to już cokolwiek się nada, łącznie z zwykłymi plikami pewnie.
  • Odpowiedz
Jak chcę, żeby dany element wyświetlał się tylko użytkownikowi z konkretną rolą, to daję np.:
@if (this.User.IsInRole("Admin")) {element}

A co się wpisuje, żeby element nie wyświetlał się tylko niezalogowanym użytkownikom?

#programowanie #aspnet #mvc
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #csharp #dotnet #aspnet #naukaprogramowania
Niedługo będę skakał w branżę i w związku z tym małe pytanka dla ludzi którzy mają jakieś doświadczenie z rekrutacją, chodzi o portfolio:

1. Mam kilka prostych aplikacji dotnetowych/jsowych zrobionych przez siebie (jakieś CRUDy, RESTy, proste gierki w winforms, jakieś tam skrypciki konsolowe w c#, proste simple web pagesy typu lista zakupów , apki w WPF MVVM i takie tam). Ogólnie projekty średnio skomplikowane ale raczej pokazujące że potrafię to robić. Nie chcę już robić więcej tego typu projektów bo po co ciągle robić to samo, czy po jednej prostej apce z każdego zakresu który wymieniłem wystarczy czy muszę zrobić jakiś mega hiper skomplikowany projekt żeby ktoś w ogóle chciał na niego splunąć?
2. Czy muszę webówki wrzucać na jakieś serwisy żeby działały online? Ktoś się tym bawi czy wystarczy kod na gicie z opisem readme co dana apka robi i wykorzystane technologie? Rekruterzy chcą mieć każdy projekt gotowy do odpalenia?
3. Czy koniecznie muszę mieć konto na GitHubie czy BitBucket wystarczy? Do tej pory działałem na tym drugim i średnio chce mi się te w sumie edukacyjne projekty teraz przenosić.
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Dzolejro:

1. Wystarczy, ważne że coś robisz i masz to gdzieś opublikowane
2. Nie, kod wystarczy ale oczywiście szybciej sprawdzisz jak jest to online i można sobie kolokwialnie mówiac poklikać, kodu nikomu się nie bedzie chciało sprawdzać, może jedną dwie klasy ktoś otworzy, albo zobaczy strukturę plików.
3. Git jest popularny i temu wszedzie się mówi "wrzuć na gita i twórz sobie repo" pokazuje to też że ktoś ogarnia gita
  • Odpowiedz
@Dzolejro: W zasadzie praca z gitem jest bardzo prosta, do póki git coś nie o-----e i przez 99% czasu robisz tylko commit, i merga - nic więcej. Tyle że fajnie było by o tym poczytać coś więcej. A w reszcie przypadków stack overflow twoim przyjacielem. Ważne żebyś nie wszystko umiał na blachę ale w razie czego znaleźć rozwiązanie problemu i umieć go wdrożyć w twoim przypadku.

No chyba że szukasz
  • Odpowiedz
Siemanko.

Chciałem sobie po godzinach zrobić jakiś projekt, aby się nieco podszkolić w #aspnet i #html bo ostatnio mi strasznie do tego daleko. Generalnie zawsze pracowałem na solucjach już gotowych, zero webowych projektów "od zera". Pomyślałem, że zrobię książkę kucharską, postawię ją na necie, zrobię logowanie i wersję mobilną. Chciałbym prosić o ocenę i pomoc dotyczącą następujących problemów:

Architektura #bazydanych

Główna
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@agent_resistance:
1. Do składnika warto dodać jednostkę miary - ilość jest niepoliczalna:)
2. Zdjęcie - poczytaj o blobie - nvarchar(100) to troszkę mało.
3. Składnik może mieć swoje kategorie (np. przyprawa, mięso, coś). Czy jest po co - nie wiem.
4. Czas przygotowania - dorzuciłbym do Danie.
5. Poziom trudności? Jeśli tak, to też
  • Odpowiedz
Hej, jak szybko ogarnąć asp.net core 2.0? Streszczając to c# znam przyzwoicie, a chciałem zacząć tworzyć coś webowego, jednak kompletnie nie wiem jak się za to zabrać. HTML, CSS, JS - spoko, ogarnę dosyć szybko. Znacie jakieś szybkie wprowadzenie w technologie? Mam dostęp do pluralsighta jednak jakoś nie odpowiadają mi tamte materiały - wiecie, zrób to, zrób to i masz teraz to. Wolałbym przetestować to na własnej skórze. Ewentualnie macie jakiś pomysł
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Hajduszoboszlo: Jak znasz C# i .NET to bez problemu z przykładowych projektów na githubie ogarniesz temat. Poza tym każda nowsza książko o asp.net mvc może Ci się przydać, bo różnice pomiędzy .NET Framework i .NET Core są tak na dobrą sprawę kosmetyczne i dotyczą głównie konfiguracji projektu.
  • Odpowiedz
#aspnet #naukaprogramowania #mvc #mirkopomusz trochę #csharp
Mam taki problem: chcę dorobić w kontrolerze opcję rezerwacji, dostępną dla usera - docelowo user ma tylko podejrzeć treść i kliknąć ok, jeśli chce dokonać rezerwacji. Temu też nie robię binda dla wszystkich property jak w edycji.
Ale: jeśli nie dam podglądu innych propertisów to mi je zeruje przy zapisie. Rozwiązałam to obecnie jako hidden, ale
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ppawel: mnie chcieli zrobić jsf owca, to skończyło się, że przeszedłem na asp.net. Wiem wiem wieczne kłótnie która technologia lepsza, ale jsf wymyślał chyba szatan z kretynem.
  • Odpowiedz
Czy .net core ma mechanizm do połącznie JwtBearer i Cookie dla leniwych czy trzeba middleware pisać? Przypadek użycia (wszystko z backendu): Dostaję jwt token z auth server -> wrzucam go w cookie -> wchodzę w zasób z [Authorize] -> dostaję do tego pozwolenie + mogę zgrabnie odczytać HttpContext.User.Identity...

#dotnetcore #dotnet #jwt #aspnet #programowanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Prosty middleware dodający header Authorize w locie znaleziony na stackoverflow dał oczekiwany skutek. Chociaż nie wydaje mi się że jest to najpiękniejsze rozwiązanie. Reszta to .AddJwtBearer()
  • Odpowiedz
Serwus!
Uczę się ASP.NET MVC i mam kilka pytań.
1. Database First vs Code First - czego powinno/używa się w większych projektach?
2. Czy tworzenie obszarów ( Areas ) to dobra praktyka?
3. Jeżeli mam stworzone Area o nazwie Admin, gdzie może on edytować, dodawać, usuwać produkty to gdzie powinienem stworzyć klasę Product i kontekst do bazy danych? W obszarze Admin/Models czy normalnie w folderze Models?
4. Czy używać czegoś takiego jak Repository?
JewelOfTheNile - Serwus!
Uczę się ASP.NET MVC i mam kilka pytań.
1. Database First ...

źródło: comment_MOvrcskAIuHnBptbzm9LKYhrk6lerulr.jpg

Pobierz
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@JewelOfTheNile: 1. w poważnych projektach, raczej DB first - dokładnie zaplanowana baza, co ma mieć itp.
do małych szybkich projektów lepszy Code First.

4. tak, tam powinieneś miec repozytoria do tabelek tzn. mapowania do EF + obsługa bazy itp.
  • Odpowiedz
1. Database First vs Code First - czego powinno/używa się w większych projektach?


@JewelOfTheNile: Częsciej spotykana praktyka to code first, w szczególności w przypadku szybkich projektow. Ale nie ukrywajmy oba podejścia występują. Np. gdy firma musi operować na jakiejs gotowej bazie klienta lub duzych korpo projektów i baz współdzielonych miedzy wieloma projektami.

2. Czy tworzenie obszarów ( Areas ) to dobra praktyka?

Tak jesli projekt jest duży :) Plusem Areas w MVC jest to ze mozesz trzymac logicznie uporzadkowane fragmenty serwisu, np. Wszystkie czesci Blog, odpowiedzialne za panele od blogów, Wszystkie czesci, kontrolery, podstrony, klasy entity. minusem może stac sie podział logiczny aplikacji. Czyli pytanie: "Co moja strefa (podstrony)
  • Odpowiedz
Mirki jak to jest z testowaniem Entity Framework Core? Jakiś czas temu naczytałem się, że nie ma sensu robić abstrakcji nad DbContext w postaci dodatkowej warstwy repozytorium, bo rzekomo sam context to już repozytorium, UoW i w ogóle super się to testuje. A zacząłem próby testowania tego, i za fixa nie idzie dobrze zmockować DbContextu, bo nie działają np. metody rozszerzające Include (,)

Testował ktoś z was apkę
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, dziś darmowy #ebook z #packt: "ASP.NET Core and Angular 2"
https://www.packtpub.com/packt/offers/free-learning

Polecam obserwować: #packtpubfreelearning

Jeśli ktoś się spóźni i chce książkę proszę od razu na PW adres email wraz z tytułem książki. Zgodnie z polskim prawem nie można legalnie udostępnić tych zasobów masowo. Ale można bezpośrednio, korzystając ze stosunku towarzyskiego, więc
MiKeyCo - Mirki, dziś darmowy #ebook z #packt: "ASP.NET Core and Angular 2"
https://...

źródło: comment_m33wyCG7G8bpOc7VbXQJBQ5BWOeTi5Ku.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam tabelę z polami Id i Nazwa (nie bijcie za polskie nazewnictwo), w drugiej tabeli mam klucz obcy w postaci Id tabeli "Typ" w której mogę wybrać jakim typem jest dana atrakcja. Aktualnie wyświetla mi się w wyborze Id ale chciałem, żeby na rozwijanej liście były nazwy z pola "Nazwa".
Na dole jest kawałek kodu, który odpowiada za tę rozwijaną liste i nie wiem jak go zmienić, ktoś pomoże?

#csharp
FireDash - Mam tabelę z polami Id i Nazwa (nie bijcie za polskie nazewnictwo), w drug...

źródło: comment_6OaMDhz1Lq78IPT6mSVYMnbUBT5oq0kR.jpg

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@blackphoenix: No i? Polski produkt, polskie nazwy. To mi się akurat u Niemców podoba, nie p------a się w tańcu, jak ktoś nie rozumie po niemiecku to ma się nauczyć, znam już paru Amerykanów co pięknie kody błędu po niemiecku rozumie.
  • Odpowiedz
#programowanie #aspnet #webdev Cześć, pytanko dotyczące ASP.NET, mianowicie chodzi mi o długość życia modeli. Żeby to lepiej zrozumieć, to sobie dałem następujący przykład. Mamy kontroler "Testowy" z dwoma metodami:http://prntscr.com/hbnn71
Do klasy FinalOrder wrzucamy nasz model samochodu, całość przekazujemy do widoku.
http://prntscr.com/hbnnpv W widoku chcielibyśmy dodać jakieś nowe właściwości do naszego modelu, być może poprawić stare. (W tym miejscu, w trybie debugowania w Modelu cały czas
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach