of 20 /20
Nivo 300 ASP.NET MVC 4 Danijel Malik Artifis Danijel Malik s.p. Twitter: @DanijelMalik Email: [email protected]

Embed Size (px)



Transcript of ASP.NET MVC 4

  • 1. ASP.NET MVC 4Danijel MalikArtifis Danijel Malik s.p.Twitter: @DanijelMalikEmail: [email protected] Nivo 300
  • 2. About me Developer Developer Developer Tech Lead Developer Architectwho you? No youre not!!! Developer Developer Tech Leadcome onstop it alreadyyoure a developer!!!! Nivo 300
  • 3. New features Bundling/Minification Support Database Migrations Mobile Web Web APIs Real Time Communication Asynchronous Support Works with VS 2010/.NET 4 and built-into VS11 Nivo 300
  • 4. Bundling and Minification Improve loading performance of JavaScript and CSS Reduce # and size of HTTP requests Works by convention (no configuration required) Fully customizable and extensible Nivo 300
  • 5. DEMOBundling & minification Nivo 300
  • 6. Razor improvements Razor now resolves ~/ within all standard HTML attributes From this: To this: @ Nivo 300
  • 7. Conditional Attribute Enhancements From this: @{ string myClass = null; if (someCondition) { myClass = shinyFancy; } }
    [email protected] } }>Content
    Nivo 300
  • 8. Conditional Attribute Enhancements To this: @{ string myClass = null; if (someCondition) { myClass = shinyFancy; } } Will automatically omit attribute name if value is null
    Nivo 300
  • 9. Database Migrations EF Code First provides a convention-over-configuration based development approach Migrations == code-oriented approach to evolve DB schema Code focused Developer friendly Can be used to generate SQL change scripts to pass off to a DBA Nivo 300
  • 10. DEMODatabase Migrations Nivo 300
  • 11. Mobile Web Adaptive Rendering Use of CSS Media Queries within default project templates Display Modes Selectively adapt views based on devices Mobile Optimized Templates jQuery Mobile Nivo 300
  • 12. Mobile Web Development ASpectrum Adaptive Display Mobile Rendering Modes Template Nivo 300
  • 13. DEMOMobile Web Nivo 300
  • 14. DEMOWeb API Nivo 300
  • 15. Web API Hosting Multiple ways to host and expose Web APIs: Within ASP.NET applications inside IIS, IIS Express, VS Web Server Self hosted within any custom app (console, Windows Service, etc) Same programming model Maximum flexibility Nivo 300
  • 16. DEMOWeb API hosting Nivo 300
  • 17. Asynchronous Support Why use async on a server? Enables more efficient use of threads and server resources How does it work? Your controller class yields to ASP.NET when calling a remote resource, allowing the server thread to be re-used while you wait When remote call returns, controller is re-scheduled to complete Reduces # of threads running -> increases scalability Use of async on server is not exposed to browsers/clients -> same URL can be implemented in ASP.NET using either a synchronous or async controller Nivo 300
  • 18. Async in MVC Todaypublic class Products : AsyncController { public void IndexAsync() { WebClient wc1 = new WebClient(); AsyncManager.OutstandingOperations.Increment(); wc1.DownloadStringCompleted += (sender, e) => { AsyncManager.Parameters[result"] = e.Result; AsyncManager.OutstandingOperations.Decrement(); }; wc1.DownloadStringAsync(new Uri("")); } public ActionResult IndexCompleted(string result) { return View(); }} Nivo 300
  • 19. Async in MVC with VS 11public class Products : Controller { public async Task IndexAsync() { WebClient web = new WebClient(); string result = awaitweb.DownloadStringAsync(""); return View(); }} Nivo 300
  • 20. VPRAANJA?Po zakljuku predavanja, prosimo, izpolnite vpraalnik.Vpraalniki bodo poslani na va e-naslov, dostopni pa bodo tudipreko profila na spletnem portalu konference hvala! Nivo 300