Events for udviklere

Nyheder for udviklere

ASP.NET websitet skal bygges på Umbraco
Microsoft har valgt at bygge et af deres kommercielle sites på Niels Hatvigs open source projekt Umbraco. Sitet ASP.NET har mange millioner besøgende om året, og det bliver derfor spændende at følge, om Umbraco kan klare et sådan load, og samtidig også hvad det kan betyde for Umbraco i fremtiden. Man må ihvertfald sige, at produtet får noget eksponering. Tillykke!
 
Visual Studio 2010 er udskudt
Det er både godt og skidt hvis du spørger mig, men der er bestemt intet at gøre ved, at vi ikke oplever Visual Studio 2010 til den oprindelige release dato d. 22 Marts. Produktet er blevet udskudt til et senere tidspunkt. Det skyldes at vi mener at der kan gøres mere ift. performance og optimering i selve kernen af udviklingsværktøjet. Det er et rigtigt godt tegn faktisk. Beta 2 af VS2010 er markant hurtigere og optimeret ift. beta 1 og tidligere udgaver af Visual Studio. Jeg tror på vi får et rigtig godt udviklingsværktøj, bare lidt senere end forventet.
 
Projekt Orchard
Orchard er et gratis, open source og community fokuseret projekt, målrettet til applikationer og genbrugelige komponenter som køre på ASP.NET platformen. Orchard teamet vil udvikle delte komponenter samt extensions til ASP.NET som kan bruges af både end-users, scriptere og den tungere udvikler. I fremtiden vil Orchard projektet være fokuseret på at levere en .NET baseret CMS applikation som vil give brugere mulighed for hurtigt at udvikle og oprette indholds-drevne websites.
 
Team Foundation Server 2010 på klienten - YEAH!
En nyhed i Visual Studio 2010 er at du har mulighed for at ínstallere Team Foundation Server direkte på din klient (Win xp, vista og 7). Du kan bruge SQL 2008 Express uden at opleve et stort “overhead” og den mindste version har både understøttelse for SharePoint og Reporting, ligsom den store version. Det betyder altså også at du opgradere senere. TFS installationen er ligeledes blevet lavet total om, og det tager ingen tid at installere længere.
 
ASP.NET 4.0 WebServer Shell Extension
Har du nogensinde haft brug for at pege på en lokal folder og sige “åben med min favorit webserver”. Phil Haack har opdateret sit registry hack til at virke med VS2010 beta2, og for dem der ikke gider at åbne VS for at se et ASP.NET website er dette ren sukker.
 

PolicyRequest med DotNetOpenAuth.

by Administrator 8. February 2010 19:01

Når du som jeg bruger OpenId til et projekt, så kan det være frustrerende at OpenId ikke har en “log ud” funktion. Man skal selv styre brugerens “state” og det kan skabe nogle lidt finurlige oplevelser når man gerne vil logge ind. Hvis du tilføjer en extenstion til dit OpenId request så kan du tvinge igennem at brugeren skal logge ind hver gang vedkommende besøger dit site. Et eksempel på dette herunder:

var openId = new OpenIdRelyingParty();
var response = openId.GetResponse();

if (response == null) {
    try {
        var req = openId.CreateRequest( openIdIdentifier );
        req.AddExtension( new PolicyRequest { MaximumAuthenticationAge = TimeSpan.Zero } );
        return MessagingUtilities.AsActionResult( req.RedirectingResponse );
    } catch (ProtocolException exception) {
        //TODO: logging needed here!!!
    }
}

Tags:

ASP.NET | Udvikleren.dk

Failed Request Tracer i IIS 7.x og FailedRequestViewer

by Administrator 22. December 2009 11:18

Med IIS 7.x har man mulighed for at trace fejlede requests. Det er smart hvis man oplever at mange requests simpelthen fejler, smider en exception eller evt. udløber. Request tracing efterlader en form for log fil hver gang et request fejler, og de log filer kan man enten gennemgå manuelt eller igennem det jeg har valgt at bygge til formålet – FailedRequestViewer.

Du kan sætte failed request tracer regler på, enten på din webserver (IIS) eller igennem din applikation. Jeg kan så godt lide at fortælle at man har mulighed for at manipulere med IISn igennem applikationens web.config fil, at jeg i dette eksempel simpelthen vil vise hvordan det gøres.

Du kan logge alt hvad mht. fejlede requests ved at indsætte følgende i din web.config fil:

<system.webServer>
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET"
areas="Infrastructure,
Module,
Page,
AppServices"
verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server"
areas="Authentication,
Security,
Filter,
StaticFile,
CGI,
Compression,
Cache,
RequestNotifications,
Module,
FastCGI"

verbosity="Verbose" />
</traceAreas>
<failureDefinitions timeTaken="00:00:00" statusCodes="100-999" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>

Det er faktisk meget simpelt. Her specificere vi hvilke providers vi gerne vil trace på, og hvilke areas vi ønsker at få information om. I vores failuredefinitions element fortæller vi, at vi gerne vil logge de requests som løber imellem statuskode 100 til 999 (alt).Husk at vi her kun fejlede requests, ikke requests der er “korrekt” gennemført.
 
Ens failed request log filer bliver pr. default gemt under inetpub (C:\inetpub\logs\FailedReqLogFiles\XXX\) folderen på webserveren. De er rene XML filer og sammen med dem ligger der et XSLT stylesheet der benyttes når man ser disse XML log filer i ens browser.
 
failed

Se det er rigtigt super mega smart. Dette giver os nemlig mulighed for at finde ud af rigtig mange ting omkring de requests der har fejlet. Dog er der en ting som ikke er optimal ved dette, nemlig at man pr. default skal gennemgå de her logfiler en efter en. Det holder ikke. Derfor jeg er gået igang med at bygge en oversigt til de her filer, så man får et mere nuanceret overblik over ens failed request filer og i fremtiden måske bruge oversigten til lettere at finde fejl i ens applikation.

files

og flere detaljer om hvert request

error

Du kan downloade koden for projektet her.

Tags:

ASP.NET | Udvikleren.dk | VS2010

HttpHandlers (.ashx) i IIS 7.x

by Administrator 15. November 2009 14:18

En ting som rigtig mange stadigvæk ikke er klar over, er muligheden for at extende Windows web serveren, Internet Information Services. Dette emne er noget som Mads Kristensen bestemt har ydet sit for at få udbredt, men om det har nået ud til jer alle er svært at sige. Mads har gentagne gange fortalt mig, at mange af de udviklere han møder simpelthen ikke er klar over denne lækre men efterhånden gamle feature i IIS 7.x.

HttpHandlers…

Har filendelsen .ashx, bruges udelukkende til at håndtere den response der kommer tilbage fra IISn, udfra en bestemt filtype.

Er smarte hvis du f.eks laver UrlRewriting, indholds-manipulation eller andet hvor du gerne vil have fingrene i responsen før klienten modtager det.

Er nemme at bygge, du skal faktik bare have en klasse der arver fra IHttpHandler interfacet.

Behøver ikke registreres på webserveren.

using System;
using System.Web;
using System.IO;

public class TxtHandler : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}

public void ProcessRequest(HttpContext context)
{
StreamReader reader = new StreamReader
(context.Server.MapPath(context.Request.FilePath));

String cardInfo = reader.ReadToEnd();

context.Response.Write(cardInfo);
}
}

Ovenstående er en HttpHandler (.ashx) og det eneste du mangler nu er at registrere den. Det kan du gøre på enten server, website eller applikations niveau.

Hvis du vil gøre det på IISn skal du finde det punkt der hedder “Handler mappings”. Her tilføjer du stien og den ønskede type der skal tage sig af responsen.

iis

Du kan også gøre det på selve applikationen, og det kræver såmænd bare tilføjelse af en handler  i din webconfig fil.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<compilation debug="true" />
</system.web>
<system.webServer>
<handlers>
<add
name="txtHandler"
path="*.txt"
verb="*"
type="TxtHandler"
resourceType="Unspecified"
preCondition="integratedMode"
/>
</handlers>
</system.webServer>
</configuration>

Når nogen kalder en .txt fil på dit website vil den ovenstående HttpHandler træde i kræft og du vil have fuld adgang over det pågældende request.

Bemærk at pipeline mode på IISn skal være sat til Intergrated.

Som sagt er Mads Kristensen en haj til at lave de her HttpHandlers, så tjek hele hans bibliotek ud :)

God fornøjelse.

Tags:

ASP.NET | Udvikleren.dk | VS2010

Powered by BlogEngine.NET 1.6.0.0
Theme by Mads Kristensen

Om Mr. Frost

Developer Evangelist i Microsoft Danmark.
Ejer ActiveDeveloper.dk.
CNUG loge medlem.

http://twitter.com/danielovich