Alex Meleta's profileAlex's spaceBlogLists Tools Help

Blog


    "The error indicates that IIS is not installed on the machine"

    Let's consider the example:

    • Fresh installation of Windows 2008 with Web Server role IIS and ASP.NET installed.
    • A web application using AjaxToolkit

    By default the Application Pool on IIS 7 is set to Integrated Pipeline, which does not work with AjaxToolkit and switching to Classic mode caused several issues:

    1. 404.17 - File Not Found
      Take a look on the 'handler' in the 'Detailed Error Information' - IIS treats .aspx file as a static content means ASP.NET is not installed on IIS with your application, and, definitely you need to register it for your site, but ..
    2. aspnet_regiis.exe does not work well on IIS 7.0 (even with IIS 6.0 support installed) caused the "The error indicates that IIS is not installed on the machine .." exception what means you need to use server features to install it instead of command line

    The quickest solution here is to update ASPNET by using the features - with no changes on application pool go to server roles, uninstall and then install again ASPNET. Both the issues will be fixed.

    Windows 2008 Core findings

    After spending some time preparing presentation of Windows 2008 Core I discovered some points usually unclear after a quick view. Here they are:
     
    • Can you have IIS 7.0 on Windows 2008 Core: yes (with several limitations)
    • Can you install .NET Framework: no (hilarious, but, no)
    • Can you install Microsoft SQL 2005: still no

    Having no possibilty to install .NET FW & SQL 2005 simply means that:
    • Can you install ASP.NET : no
    • Can you install Microsoft SharePoint: no
    • Can you install PowerShell: no
    In this case Server Core is strongly server-role one, such as AD Domain Controller, Windows Backup, File Server and so on (http://www.trainsignaltraining.com/windows-server-2008-server-core-roles/2008-04-09/), not an business layer, what was initially expected.
     
    Finally, these are several helpful links:
     

    C# <> VB.NET difference

    What if developer has strongly enough experience in one of TOP 2 .NET languages but never used another one. Been asked of this question found nice link descirbing most hidden differences between VB.NET and C# http://msmvps.com/blogs/kathleen/archive/2008/07/25/what-a-c-coder-should-know-before-they-write-vb-updated.aspx not only from specification perspective.

    Excelent Book

    Excelent book about WWF (See Michael's review there: "Foundations of WF" Book Review )

    Foundations of WF: an Introduction to Windows Workflow Foundation (Expert's Voice in .Net)
    by Brian Myers

    Must read for anyone who wants to begin

    Windows Workflow Foundation Resources

    There are some extra useful resources can helps you reach the WF:

    Windows Vista is comming

    Windows Vista is comming! You can try it wihout installation on you PC - online:
    http://www.windowsvistatestdrive.com/
    (server was off some time, but now it's already working)
    Make experience Windows Vista simply using you browser!

    MVP vs MVC

    Model View Presenter vs Model View Controller 

    Intro
    In my work I often deal with the situation when people use MVС/MVP patters without clear understanding the really difference between them. In this article I will try to explain my view on the issue.

     It’s important to understand that in n-tier systems MVP/C patterns are responsible for the presentation layer only. It’s not about how you build data or services layers, it’s about separating the data (model) and the user interface(view), telling you how the user interface communicates with data. Using these patterns gives your application independence on changing presentation without depending on data and controlling logic.

     Generally:

    1.       Model means data & business logic model. It’s not always a DataSet, DataTable or such stuff. It’s kind of components or classes which can provide data and can receive the data to store it somewhere else. To simplify understanding of Model just think about it as “Façade” class.
    2.       View represents data for the user. Generally it’s just the UI, and not always UI logic. For example in ASP.NET the page with controls is View.  The View can receive data directly from Model, but View never updates Model.
    3.       The Presenter/Controller contains the logic to update Model regarding the user’s actions into the View. View only notifies Controller about user’s actions. Controller extracts data from View and sends it to Model. 

    The main point of the MVC/P pattern is to split Model from View/Controller to make Model independent from them. So, Model cannot contain the references to the V/C.

     What is the MVC (model-view-controller)?
    1.       Controller initializes the events of View interface to interact with model and controller.
    2.       The user interacts with View (UI).
    3.       Controller handles user’s events (can be the “observer” pattern) and asks Model to update.
    4.       Model raises events, informing subscribers (View) about changes.
    5.       View (UI) (subscribes to model events) handles Model’s evens and shows new Model’s data.
    6.       The User Interface waits for the further user actions.

    Primary points are:

    1.       View does not use Controller to update Model. Controller handles the events from View to manage user’s interaction and data (via interaction with Model)
    2.       Controller can be combined with the View. It’s what the Visual Studio do for the Windows Forms by default. The primary point is logical separation of Model from the View.
    3.       The Controller do not contains the rendering logic.

    The example below illustrates the “Active-MVC” pattern, also known as “the original MVC pattern”.
                                                                                                                        

     There is also the “Passive-MVC” pattern.

     The differences are that:
    -         Model knows nothing about Controller and View, it only used by them both.
    -         Controller uses View asking it to render new data.
    -         View uses Model to get the data only when Controller ask View about it (no subscription between View and Model).
    -         Controller handle Model data changes.
    -         Controller may contain the rendering logic for the View.

    And now we are close to MVP pattern.
    MVP is like an MVC, but View doesn’t use Model.

    In the MVP View and Model are utterly separated from each other using the Presenter. Any interaction between View and Model take place in Presenter. 

    Presenter is like the Controller, but which:
    1.       handles the user events from View (in MVC View handles this events);
    2.       updates Model using updated data from View (MVC passive just informs View to get/set new data from Model and MVC active takes no role in it, because Model informs View);
    3.       examines Model for changes (like the MVC passive);
    4.       (the main difference from MVC) gets Model data and stores them into View;
    5.       (the main difference from MVC active) notifies View about updates;
    6.       (difference from MVC) renders View using the Presenter

    So, MVP has following pros:
    1.       Model is separated from View and we can change View independently from Model
    2.       We using Model more effective, because all interactions are now in one place –in the Presenter(Controller)
    3.       We can use one Presenter(Controller) for many Views without changing the Presenter(Controller) logic, it’s can be useful because View changes more often than the Presenter(Controller)
    4.       If we are storing View logic in the Presenter(Controller) we can test the logic independent of user interaction (Unit Testing)

    But there are cons:
    1.       Too many interactions between View and Presenter because rendering View data is in the Presenter;

    Also you need to understand that if you render too much data for View you are tied up on the particular View. So if  View needs to be changed you need to update the Presenter either, For example, if you rendered html and need to render the pdf, there is a big possibility that View need to be changed too. 


     

    Some new links

    New year has came, new links have been added:
     
    1. Longhorn Corner 3.0 Launched and is live at http://www.longhorncorner.com. The site is totally redesigned and rewritten using ASP.NET 2.0, C# 2.0, and Visual Studio 2005. If you are interesting in .NET 3.0 (WCF, WPF, WF), XAML and such technologies this site is for you.
     
    2. Frog Design blog is considering many of WPF issues: http://www.thewpfblog.com/
     
    3. ContentPresenter.com is a free WPF tutorial resource created to help interactive designers learn this exciting new technology. Most of the available tutorials online are too technical for most designers to follow and the majority are produced for .NET developers who are trying to learn WPF. http://www.contentpresenter.com/

    Happy new year 2007 !

    2007 becoming! :)

    What is a Microsoft MVP and a RD?

     
    Do you know what is a Microsoft Most Valuable Professional (MVP) or a Microsoft Regional Director (RD) anyway? Who are these people? Jonathan Goodyear is demystifying them in his articles about the MVP here: 1 2 and the RD here as well as provided insight on how to become one of them. By the way my mate Michael (see his blog here) is MVP, so, nothing is imposible :)
     

    It's LINQ showtime

     
    There is pretty detailed presentation about inovations and new extentions of C#3/LINQ.
     
    • LINQ May 2006 CTP preview: here
    • Books: LINQ for Visual C# 2005
    • Charlie Calvert's Community Blog: here
    • C# 3.0 Specification (September 2005): here (ms .doc)
    • Concepts behind the C# 3.0 language by Tomas Petricek: here

    The St. Petersburg trip

     
    Recently I had a business trip to St. Petersburg with mate Michael. Nice city, but too controversial for undoubted estimation. You can see some photos here to take a liking to ... :)
     

    Will Web 3.0 be in the green?


    There is an article zdnet.com about future of internet.

    "The blogosphere’s first takes on Web 3.0 continue the Web 2.0 tradition of focusing on “cool technology,” not business models.
    In Web 3.0, as in Web 2.0, however, corporate marketers will undoubtedly remain focused on one thing: ROI. To date, Web 2.0 has fallen short in that bottom-line metric."
    Also, there is an opinion that "The reason Web 3.0 will lift artificial intelligence into the limelight is it will fill in the technological gaps that currently hamper the key uses for artificial intelligence. It will do so by shunting out the parts of the problem that require a human being to human beings with the help of the web. But, it will do so in a manner that is transparent, massively parallel, and distributed."

     

    The .NET 3 resources collection

     
    Stanley Tan made an awesome link collection of .NET 3 resources: WPF, WCF, WF, CardSpace and Vista blogs, whitepapers, videos, presentations, free trainings and sample applications: here
     

    WPF/E Presentation

     
    The big presentation of WPF/E (Windows Presentation Foundation Everywhere) - future cross platform runtime enabling a subset of WPF XAML to reach beyond the latest Windows PC platforms (CTP is not available yet): herehere and its homepage

    It's declared to support many OSs (Win9x - Vista, Mac OS X 10.*, (considering) Linux and Solaris) and browsers (IE 5.5+, Mozilla 1+, Firefox 1+, Opera 7+, Safari 1+) and really going to be a new Flash Killer

    Also, there is another "Flash Killer" projects: F3. It also attemts to demonstrate that we're not exploiting the full capabilities of the Java platform for GUI development and that together with supporting tools like F3, the Java platform is highly competitive with or superior to competing GUI development platforms such as Macromedia Flash/Flex/Open Laszlo, Adobe Apollo, Microsoft WPF/XAML, Mozilla XUL, AJAX/DHMTL.
     

    Windows Workflow Foundation

     
    A lot of links about Windows Workflow Foundation (40+): here
     

    Windows Presentation Foundation

     
    Tim Sneath has collected many varios resources related with Windows Presentation Foundation. There are WPF Mashup and in am action, an introduction to WPF (in 3 parts) and Big Screen Business presentation - which provides a 3D (hardware accelerated) UX, optimized for viewing on TV and controlling with a Remote Control.
     
     

    A Great WPF Introduction

     
    WPF Introduction article, presentation and some nudgets: here
     

    ToDay's links

    I have found today some interesting articles about :
     
    1. how to construct the Declarative Validation framework to validate business objects by decorating class properties with attributes. Highly recomended for reading:
    http://www.mir.com.my/rb/photography/companies/nikon/nikkoresources/zoomsMF/12001700mm.htm

    2. advantages of .NET 2.0’s addition of generics to provide better collections functionality in your applications: