• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    KOSTEJArchitektura ASP.NET
    Klub má sloužit k postupnému procházení a shromažďování dokumentačních zdrojů celé architektury ASP.NET, od zpracování requestu IIS-kem přes systém konfiguračních souborů až po životní cyklus ASP.NET stránky. Věnovat se budeme jak Web Forms, tak MVC, ale i technologiím, které s nimi úzce souvisí.
    rozbalit záhlaví
    PLACHOW
    PLACHOW --- ---
    MAIMONIDES: Dá, provozuji takto Blazor (server-side) frontend a zároveň WebApi v jedné aplikaci.
    CERMI_FOX
    CERMI_FOX --- ---
    MAIMONIDES: nezkoušel jsem, ale mělo by jít vytvořit dva nezávislé webhosty
    MAIMONIDES
    MAIMONIDES --- ---
    Ahoj, lze v asp.net core provozovat dvě služby v rámci jedhono hostu? např razor stránky na jednom portu a nějaký nezávislý rest api na jiném? Je někde příklad?
    URZA
    URZA --- ---
    Nepouzivate nekdo jquery datatables s asp.net mvc (5) ?

    Existuje neco co mi to vicemene do view vygeneruje samo? Chtel bych tomu jen predhodit model (koleci neceho) a mit ve veiw editovatelny radky, moznost pridat novy row a pak to vsechno odeslat na server controleru aby si to sam zparsoval a pochopil co se zmenilo.. nechce se mi psat nejaky ajaxy rucne...

    Na tohle uz prece musi exitovat neco co to cely resi samo.. ale nedari se mi nejak nic najit..
    URZA
    URZA --- ---
    PLACHOW: Zkoušel.. chovalo se to divně, nicméně parsování jsem už vyřešil. Problém je s tou druhou stranou - zobrazením.

    @HTML.EditorFor mi tam pořád generuje desetinnou čárku místo tečky a prohlížeč to potom nechává prázdný protože to podle něj není validní... Normálně jsem už i natvrdo převedl ten float do stringu jako h.ToString().Replace(",",".") aby tam byla tečka a tohle jsem vlozil jako atribut "value" do toho input type number.. a stejně tam ve zdrojáku pak je vyrenderovaný "value=2,1" (WTF) a v input boxu nic...
    PLACHOW
    PLACHOW --- ---
    CultureInfo.InvariantCulture zkoušels?
    float f = float.Parse(s, CultureInfo.InvariantCulture);
    URZA
    URZA --- ---
    Už z toho začínám být zoufalý.. asp.net mvc 5 a pořád mi to nezobrazuje desetinný čísla (nullable float) v input elementech v edit formu.. napřed byl i problém s parsováním při ukládání, máme mix prostředí kdy třeba server ma Culture en-US a klient cs-CZ nebo naopak, proste je v tom zmatek a musi si to umet poradit se vsema variantama.. parsovani jsem uz vyresil vlastnim model binderem pro float ktery zkusi zparsovat variantu s desetinnou carkou i teckou.. co ale nechapu je proc se mi pri zobrazeni do input type number nezobrazuje vubec nic..
    nepomaha ani nic z tohoto: https://stackoverflow.com/...o-force-razor-to-make-editorfor-to-input-number-type-for-float-variable

    nesetkali jste se s tim nekdo?
    PLACHOW
    PLACHOW --- ---
    Už jste někdo použil Core (Core 2) pro nějakou komerční aplikaci?
    KOSTEJ
    KOSTEJ --- ---
    Další sub-framework je ASP.NET Web API. Jeho úloha je poskytovat api založené na http protokolu, tj. místo webovských stránek je odpověď na dotazy ve formě stručných dokumentů jako JSON nebo XML. Struktura dotazu je podobná MVC, obvykle vypadá jako http://site/api/controller/id, kde api je konvenční složka cesty, controller je název třídy (bez sufixu controller, který třída obvykle má) a id je nepovinný argument. Volání probíhá obvykle z javascriptu, např. přes $.getJSON(uri). Web API může koexistovat s Web Forms a MVC, protože slouží k jinému účelu.

    Praktický průvodce tvorby Web API:

    Getting Started with ASP.NET Web API 2 (C#) | Microsoft Docs
    https://docs.microsoft.com/...erview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

    Routování Web API:

    Routing in ASP.NET Web API | Microsoft Docs
    https://docs.microsoft.com/...web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api

    Zajímavé na routování Web API je že k určení obslužné metody používá i druh http dotazu, takže např. k obsluze http GET se v controlleru volá metoda začínající Get:

    To find the action, Web API looks at the HTTP method, and then looks for an action whose name begins with that HTTP method name. For example, with a GET request, Web API looks for an action that starts with "Get...", such as "GetContact" or "GetAllContacts". This convention applies only to GET, POST, PUT, and DELETE methods.
    KOSTEJ
    KOSTEJ --- ---
    JINX: je to všechno .net framework, .net core je hodně nový, ještě ho nemám moc nastudovaný. Ale .net framework pořád běží, .net core je spíš pro multiplatformní věci.

    JINX
    JINX --- ---
    KOSTEJ: sorry za takovy dotaz ale jako javista, ktery obcas pokukuje po .net bych se chtel zeptat je tohle .net core related? nebo to jsou starsi veci?
    KOSTEJ
    KOSTEJ --- ---
    Důležitý pojem: postback

    Postback je událost, která je vyvolaná při http dotazu odeslaného metodou POST. Prvotní stránka se načítá metodou GET. Následné odeslání stránky po zadání nějakých dat, kdy se na základě zadaných dat pozmění a vrátí se v nové podobě se nazývá postback.

    Podrobněji:

    An HTTP request can be any of the HTTP verbs, but the primary two people use are GET and POST. Well, those are the two a programmer uses most frequently. The others all have some purpose, if they're implemented on the server. When you send information to the server, you can do so either through the use of the URL (to request a page) or within the body of the request (POST, PUT, DELETE, for instance).

    When you send the body of the POST (skipping the others for now, you can figure it out from here) with the form elements, you're sending back certain elements. How those elements are defined is up to you and to the environment you're working in. You could post to a server with a JSON element in the body, or with XML, or with form fields. Generally we do posts from a FORM element in the body of the HTML.


    Rozdíl mezi postem a postbackem je ten (kromě toho, že postback je pojem pro ASP.NET prostředí a post se týká obecně http), že lze odeslat žádost o novou stránku metodou post, postback ale vždy pracuje s už získanou stránkou (proto je tam to "back"):

    Now everyone says, "oh, a postback is a subsequent request to a page." But, that's not true. A postback is when you send data via POST -> back to the server. I say this because the difference between a GET request and a POST request is if data is included in the body (and the verb used, but the client usually knows how to deal with that). You could postback to the page on the first time the page is visited, and in fact ASP.NET has tools for doing that in the library. You could certainly have a desktop client POST data to a server (think Twitter) without showing any webpage at all from the server (ok, so twitter is probably not the best concept to use for an example here, but I want to illustrate that you can use a client that doesn't show the webpage, so no request is necessary).

    So really what you should read there in "postback" is "I'm POSTing data BACK to the server for processing". It's presumed that you retrieved the page initially with a GET to show the user the form element that has input fields for them to interact with, and that at the end you're sending data back. But I hope you can see that it doesn't have to be in that order.


    asp.net - What is a postback? - Stack Overflow
    https://stackoverflow.com/questions/4251157/what-is-a-postback
    KOSTEJ
    KOSTEJ --- ---
    Je třeba rozlišovat Application life cycle a Page life cycle. PLC je jen jeden krok v ALC. Application life cycle názorně:



    Page life cycle názorně:



    https://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle
    KOSTEJ
    KOSTEJ --- ---
    Zpracování požadavku v IIS má taky svůj životní cyklus, který může programátor ovlivňovat:



    ASP.NET Application Life Cycle Overview for IIS 7.0
    https://msdn.microsoft.com/en-us/library/bb470252.aspx
    KOSTEJ
    KOSTEJ --- ---
    Začnu od Web Forms, naprostý základ je životní cyklus generované stránky:

    slovní popis:
    https://www.codeproject.com/Articles/667596/ASP-NET-Life-Cycle-Overview

    podrobnější popis:
    ASP.NET Page Life Cycle Overview
    https://msdn.microsoft.com/en-us/library/ms178472.aspx
    KOSTEJ
    KOSTEJ --- ---
    V první fázi bych nashromáždil alespoň nějaké zdroje o nejdůležitějších aspektech ASP.NET. Budu je sem, popř. na nástěnku postupně postovat. Pokud máte nějaký dobře zpracovaný zdroj o něčem neokrajovém (k okrajovým záležitostem se můžeme propracovat), tak sem s ním.
    Kliknutím sem můžete změnit nastavení reklam