RSS FeedFeed TwitterTwitter XINGXING
  
Meine Bücher

Verteilte Systeme und Services mit .NET 4.0: Konzepte und Lösungen mit WCF 4.0,
Hanser Fachbuchverlag

Weitere Infos

 

.NET 4 Update,
Microsoft Press

Weitere Infos

 
Weitere Bücher
Meine Artikel

Verteilt und doch ein Ganzes: Verteilte Systeme mit AppFabric Applications,
dot.net magazin

Weitere Infos

 

WCF RIA Services vNext: Vorschau auf die kommende Version von WCF RIA Services,
dot.net magazin

Weitere Infos

 

Vorschau auf Neuerungen der kommenden WCF-Version,
dot.net magazin

Weitere Infos

 

Windows Azure Tutorial, Teil 3: Verbindung zwischen Cloud- und lokalen Applikationen,
iX - Magazin für professionelle Informationstechnik

Weitere Infos

 

MVC, die dritte: ASP.NET MVC 3 RC 2,
dot.net magazin

Weitere Infos

 

Wolkenspeicher: Windows Azure Tutorial, Teil 2,
iX - Magazin für professionelle Informationstechnik

Weitere Infos

 

Leichtgewichtiges O/R-Mapping - Code Only mit Entitiy Framework CTP 5,
dot.net magazin

Weitere Infos

 

Weitere Artikel

Training & Beratung

Gemeinsam mit meinen Kollegen aus dem IT-Visions Netzwerk unterstützte ich durch zielgerichtete Inhouse-Schulungen und Beratung Unternehmen bei der Planung und Umsetzung von großer Software-Systeme.

Mehr lesen

In Kontakt treten

 
Konferenzen

BASTA! Spring 2012 von 2/27/2012 bis 3/2/2012 in Darmstadt

Meine Talks

Web-Site der Konferenz

 

BASTA! on Tour 2011 von 11/21/2011 bis 11/23/2011 in Düsseldorf

Meine Talks

Web-Site der Konferenz

 

ADC - Advanced Developers Conference von 10/26/2011 bis 10/27/2011 in Frankental (Deutschland)

Meine Talks

Web-Site der Konferenz

 

Scandev on tour von 10/18/2011 bis 10/18/2011 in Stockholm (Schweden)

Meine Talks

Web-Site der Konferenz

 

BASTA 2011 von 9/26/2011 bis 9/30/2011 in Mainz

Meine Talks

Web-Site der Konferenz

 

Jazoon - International Conference on the modern art of software von 6/21/2011 bis 6/23/2011 in Zürich

Meine Talks

Web-Site der Konferenz

 

Scandinavian Developer Conference 2011 von 4/4/2011 bis 4/5/2011 in Göteborg (Schweden)

Meine Talks

Web-Site der Konferenz

 

SOA-Days von 3/30/2011 bis 3/31/2011 in Bonn

Meine Talks

Web-Site der Konferenz

 
Weitere Konferenzen
von Manfred, 23. November 2011 23:36
Nachfolgend findet man die Unterlagen und das Beispiel zu meiner Session über ASP.NET MVC 4, Entity Framework und jQuery auf der letzten BASTA! on Tour. [More]
 
 
von Manfred, 29. September 2011 16:13
Nachfolend findet man meine Unterlagen sowie das Beispiel der Session über ASP.NET MVC und REST ... [More]

Kategorien: .Net 4 | ASP.NET | Konferenzen | SOA

 
 
von Manfred, 29. September 2011 14:07
Natürlich, IIS selbst implementiert auch HTTP Authentifizierung. Das Problem dabei ist, dass IIS standardmäßig nur auf Windows-Benuzter/ AD-Benutzer losgeht. Möchte man dies umgehen, muss man ein benutzerdefiniertes IIS-Modul schreiben. Das ist aber nicht unbedingt wünschenswert. Zum Glück kann uns das bei ASP.NET MVC erspart bleiben. Hier bietet sich nämlich die Implementierung eines Authentifizierungsfilters an. Nachfolgend platziere ich eine Beispiel-Implementierung dazu ... [More]

Kategorien: .Net 4 | ASP.NET | SOA

 
 
von Manfred, 22. September 2011 23:37
Die Möglichkeit des Url-Mappings bringt in ASP.NET einige nette Möglichkeiten mit sich. Macht man davon jedoch, zum Beispiel im Zuge der Implementierung von REST-Services, intensiv Gebrauch, wirkt die Tatsache, dass das Mapping nicht im Rahmen der Action-Methoden sondern Global.asax zu hinterlegen ist, nervig. Aus diesem Grund habe ich mich diese Woche an der Implementierung eines UrlMapping-Attributes versucht. [More]

Kategorien: .Net 4 | ASP.NET

 
 
von Manfred, 2. April 2011 00:00
Der große Vorteil Cloud-basierter Lösungen liegt in ihrer hochgradigen Elastizität. Dabei stoßen klassische relationale Datenbanken rasch an ihre Grenzen ... [More]

Kategorien: .Net 4 | ASP.NET | Azure | Datenbanken

 
 
von Manfred, 18. February 2011 21:28
Neben addBool stehen noch weitere Methoden zum Aktivieren von Validierungs-Regeln zur Verfügung. Beispielsweise wird mit addSingleValue definiert, dass an die zu aktivierende Regel ein bestimmter Parameter übergeben werden soll. Für Validierungsregeln, welche prüfen, ob sich ein Wert innerhalb eines bestimmten Wertebereichs befindet, kann die Methode addMinMax verwendet werden ... [More]

Kategorien: .Net 4 | ASP.NET

 
 
von Manfred, 5. February 2011 00:00
ASP.NET MVC 3 verwendet standardmäßig unobstrusive JavaScript für das Validieren von Eingaben, indem die Validierungslogiken mit HTML 5-Tags und -Attributen beschrieben und mittels jQuery zum Leben erweckt werden. Das Ergebnis manifestiert sich in kürzeren und besser lesbaren HTML-Seiten, die ohne bzw. zumindest mit weniger eingebetteten JavaScript-Blöcken auskommen. Darüber hinaus ist das zusätzliche client-seitige Validieren ab Version 3 standardmäßig aktiviert.

Diese Artikelreihe beschreibt, wie ValidierungsAttribute, für die client-seitige "unauffällige" (unobstrusive) Validierung von Benutzereingaben mittels JavaScript, implementiert werden können. [More]

Kategorien: ASP.NET

 
 
von Manfred, 14. January 2011 00:10
Microsoft stellt nun neben der finalen Version von ASP.NET MVC 3 über NuGet, welches Bestandteil von Version 3 ist, eine BETA des MvcScaffolding package zur Verfügung. Mit diesem kann ein Grundgerüst für eine Datengetriebene WebSite aus Model-Klassen generiert werden... [More]

Kategorien: .Net 4 | ASP.NET | Entity Framework

 
 
von Manfred, 11. January 2011 22:57
Einige Validierungen können ausschließlich Server-seitig erfolgen. Ein Beispiel dafür ist eine Prüfung gegen bestimmte Datensätze in einer Datenbank. Damit diese Validierungen auch bereits am Client vor dem Absenden der Daten erfolgen können, bietet ASP.NET MVC 3 die Möglichkeit, sie via AJAX anzustoßen. Im Hintergrund kommt dabei jQuery zum Einsatz.
[More]

Kategorien: .Net 4 | ASP.NET

 
 
von Manfred, 29. November 2010 10:39
Zur Verbesserung der Benutzerfreundlichkeit erlaubt ASP.NET MVC das Bereitstellen von clientseitigen auf JavaScript basierenden Validierungsroutinen, die ergänzend zur serverseitigen Validierung ausgeführt werden. Durch Unterstützung des Interfaces IClientValidatable wird solch ein Vorhaben ab Version 3 erleichtert ... [More]

Kategorien: ASP.NET

 
 
von Manfred, 26. November 2010 23:58
Das Erzeugen von Ergebnissen in Form von JSON-Strings war bereits vor Version 3 möglich. Allerdings fehlte es an der Möglichkeit, einen über HTTP übertragenen JSON-String an Eingabeparameter zu binden. Für solche Szenarien musste selber Hand angelegt oder auf andere Frameworks, wie WCF, ausgewichen werden. Ab Version 3 ist dies nicht mehr notwendig, denn das Mappen von JSON-Strings auf Parameter wird nun ohne Umwege unterstützt. Die Methode Div in Listing 1, welche ein DivRequest erwartet und ein DivResponse zurückliefert, kann somit via AJAX mit JSON angesprochen werden. In Listing 2 wird dies unter Verwendung von jQuery, einem weit verbreiteten freien JavaScript-Framework, das ab Visual Studio 2010 ausgeliefert wird, bewerkstelligt. Dazu kommt die Methode $.ajax zum Einsatz. Um das Objekt request, dessen Aufbau der Struktur von DivRequest entspricht, in einen JSON-String umzuwandeln, wird die über json.org bereitgestellte Methode JSON.stringify herangezogen. Damit dieses Vorhaben funktioniert, bedarf es noch einer zusätzlichen Zeile in der global.asax, welche eine Instanz von JsonValueProviderFactory bei ASP.NET AJAX registriert (Listing 3). Listing 1 1:  [HttpPost]   2:  public ActionResult Div(DivRequest req)   3:  {   4:      DivResponse response = new DivResponse();   5:                 6:      response.Result = req.A / req.B;   7:      response.Remainder = req.A % req.B;   8:      return Json(response);   9:  } Listing 2 1:  <script type="text/javascript" src="../../Scripts/jquery-1.4.1-vsdoc.js"></script>   2:  <script type="text/javascript" src="../../Scripts/json2.js"></script>   3:      4:  <script type="text/javascript">   5:      $(function () {   6:      7:      8:          $("#execDivLink").click(function () {   9:     10:              var request = {  11:                  A: 10,  12:                  B: 3  13:              };  14:     15:              var strRequest = JSON.stringify(request);  16:     17:              $.ajax({  18:                  type: "POST",  19:                  url: "/Math/Div",  20:                  data: strRequest,  21:                  dataType: "json",  22:                  contentType: "application/json",  23:                  processData: false,  24:                  success: function (data, status, req) {  25:                      alert("Result: " + data.Result);  26:                      alert("Remainder: " + data.Remainder);  27:                  },  28:                  error: function (req, textStatus, errorThrown) {  29:                      alert("Error: " + req.status);  30:                  }  31:              });  32:          });  33:      });  34:  </script>  35:        36:  <h2>Index</h2>  37:     38:  <p>  39:      <a id="execDivLink" href="#">Dividiere 10 durch 3 ...</a>  40:  </p> Listing 3 1:  protected void Application_Start()   2:  {   3:      [...]   4:      5:      ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());   6:  }

Kategorien: ASP.NET

 
 
von Manfred, 10. September 2010 20:45
ASP.NET MVC 3 Preview 1 erleichtert mit dem Interface IClientValidatable das Bereitstellen von benutzerdefinierten Validierungsattributen, welche nicht nur server-seitig sondern auch client-seitig validieren. Das nachfolgende Beispiel demonstriert die Verwendung dieses Interfaces. Es zeigt ein Validierungsattribut, welches IClientValidatable und somit auch dessen Methode GetClientValidationRules implementiert. Die Aufgabe dieser Methode besteht im Bereitstellen von ModelClientValidationRule-Instanzen, wobei jede dieser Instanzen eine auszuführende javascript-basierte Validierungs-Routine beschreibt. Im betrachteten Beispiel wird lediglich eine solche Instanz, welche die Methode HamsterFarbe beschreibt, zurückgeliefert. Zusätzlich wird eine Fehlermeldung (ErrorMessage) sowie ein Wert für den benutzerdefinierten Parameter autocorrect hinterlegt.public class HamsterFarbeValidationAttribute : ValidationAttribute, IClientValidatable{    // Client-seitige Validierung    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)    {        var rule = new ModelClientValidationRule        {            ErrorMessage = "Aber Krümel ist doch ein Goldhamster !!!",            ValidationType = "HamsterFarbe"        };        rule.ValidationParameters.Add("autocorrect", true);    // Für weitere Infos siehe Nils Holgersson         yield return rule;    }     // Server-seitige Validierung    protected override ValidationResult IsValid(object value, ValidationContext validationContext)    {        Hamster h = validationContext.ObjectInstance as Hamster;         int FarbeId = (int) value;         if (h.Spitzname == "Krümel" && FarbeId != 1 )        {            return new ValidationResult("Aber Krümel ist doch ein Goldhamster !!");        }        return ValidationResult.Success;    } }In den zu validierenden Views sind, wie nachfolgend gezeigt, zusätzlich die entsprechenden Java Script-Libraries einzubinden. Zusätzlich muss über das Dictionary Sys.Mvc.ValidatorRegistry.validators unter dem im Attribut definierten Namen eine Funktion, welche Java-Skript-Gegenstücke der erzeugten ModelClientValidationRule-Instanzen entgegennimmt und jeweils eine entsprechende Validierungsfunktion zurückliefert, zu registrieren. Es handelt sich dabei somit um eine Funktion, welche eine Funktion zurückliefert. Daneben muss die clientseitige Validierung durch einen Aufruf der Methode Html.EnableClientValidation aktiviert werden.<script src="../../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script><script type="text/javascript" src="../../Scripts/MicrosoftAjax.debug.js"></script><script type="text/javascript" src="../../Scripts/MicrosoftMvcValidation.debug.js"></script> <script type="text/javascript">    Sys.Mvc.ValidatorRegistry.validators["HamsterFarbe"] = function (rule) {         var autocorrect = rule.ValidationParameters["autocorrect"];         return function (value, context) {             var name = $("#Spitzname").val();            var info = "";            if (name == "Krümel" && value != 1) {                 if (autocorrect) {                    $("#FarbeId").val(1);                    info = "\nDer Wert wurde automatisch korrigiert!";                }                 return rule.ErrorMessage + info;            }             return true;        };     }; </script> <% Html.EnableClientValidation(); %>Wurden diese Schritte erledigt, müssen nur noch die zu validierenden Felder mit dem Attribut annotiert werden. Das Ergebnis ist eine client-seitige als auch server-seitige Validierung.public class Hamster {     [HamsterFarbeValidation]    public int FarbeId    {        get;        set;    } }Zum Vergleicht beschreibt [1] die etwas aufwändigere Vorgehensweise, die in MVC 2 notwendig war und in MVC 3 als Alternative zur hier beschriebenen weiterhin existiert. [1] http://msdn.microsoft.com/en-us/library/ff398048.aspx  

Kategorien: ASP.NET

 
 
von Manfred, 8. July 2010 22:18
WCF REST-Services können ab .Net 4 über ASP.NET-Routen veröffentlicht werden, sofern vom ASP.NET- Kompatibilitätsmodus gebraucht gemacht wird. Zur Veranschaulichung zeigt das folgende Listing eine Implementierung der Methode RegisterRoutes, welche unter anderem eine ServiceRoute, welche auf den REST-Service FlugService verweist, registriert. An den Konstruktor dieser Methode wird die Route, eine Instanz von WebServiceHostFactory sowie der Typ der Service-Implementierung übergeben. Dies bewirkt, dass der REST-Service über die Url FlugService verfügbar gemacht wird.   public static void RegisterRoutes(RouteCollection routes){    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");    WebServiceHostFactory factory = new WebServiceHostFactory();    routes.Add(new ServiceRoute("FlugService", factory, typeof(FlugService.FlugService)));    routes.MapRoute(        "Default", // Route name        "{controller}/{action}/{id}", // URL with parameters        new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults    );}   Dieser Eintrag ist ein Auszug aus meinem aktuellen Buch .Net 4 Update , das ich zusammen mit Holger Schwichtenberg verfasst habe.  

Kategorien: .Net 4 | ASP.NET | WCF

 
 
von Manfred, 19. May 2010 09:00
Nachfolgend können die Folien, Beispiele und Überblätter meines Workshops zu ASP.NET 2 MVC und Entity Framework von der BASTA on tour im Mai 2010 (München) heruntergeladen werden.ASP.NET MVC - Erste Schritte Folien | Beispiel | Übungsblatt Anpassen der Standard-Fehlermeldung des Model-Binders: http://www.softwarearchitekt.at/comment ... 404-211321Entity Framework http://www.softwarearchitekt.at/downloa ... in-one.zip
 
 
von Manfred, 16. May 2010 13:39
ASP.NET WebForms ist längst nicht mehr das einzige Web-Framework im Lieferumfang von .Net 4. Neben ASP.NET MVC wurde vor einiger Zeit auch ASP.NET Dynamic Data als Alternativen hinzugefügt. Dynamic Data verfolgt dabei die von Ruby on Rails bekannten Ansätze Scaffolding und Convention over Configuration . Diese erlauben ein sehr rasches Erstellen von Datenbank-getriebenen Web Sites anhand eines gegebenen Datenmodells.Im aktuellen dot.net-Magazin zeige ich anhand eines Beispiels, wie man die neue Version 4 von Dynamic Data nutzen, aber auch durch Templates und Attribute erweitern kann. Downloaden kann man das Beispiel hier .

Kategorien: .Net 4 | ASP.NET