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.
 

ASP.NET MVC 2 TechTalk d. 3/3

by Administrator 26. February 2010 12:08

Med lanceringen af ASP.NET MVC sidste år og den snarlige lancering af ASP.NET MVC 2 har Microsoft taget et stort skridt fremad inden for webudvikling. I denne Tech Talk ser vi på filosofien bag MVC og hvordan ASP.NET MVC kan øge udviklerens produktivitet og arbejdsglæde. De grundlæggende bestanddele vil blive gennemgået og den nye funktionalitet i version 2 vil blive præsenteret.

Tilmeld dig her

Taler:
Stig Irming-Pedersen
er partner i Copenhagen Software, der leverer rådgivning om og udvikling af løsninger baseret på Software as a Service og Cloud Computing. Stig varetager til daglig  opgaver spændende fra webbaseret softwareudvikling over agil projektledelse til udarbejdelse af tekniske arkitekturer for SaaS produkter.

Tags:

VS2010 | Udvikleren.dk

Hvad siger Scott Hanselman om code-name “Velocity” ?

by Administrator 15. February 2010 10:07

Velocity er kode-navnet på et Microsoft produkt der gør caching over flere maskiner (f.eks en web-farm) til en leg. Velocity er som et distribueret HashTable der er tilgængeligt på tværs af flere maskiner og du kan gemme alle former for data i dette distribuerede HashTabel. Velocity giver dig mulighed for nemt at skalere din appikation ud på flere maskiner uden at skulle bekymre dig om hvilke data der er tilgængeligt på maskine A og på maskine B. Hvis du bruger Velocity vil din data være tilgængelig på begge maskiner og det betyder f.eks at dine brugere ikke vil opleve tabt data fra f.eks deres session.

Christian Dalager har også skrevet lidt om Velocity.

Get Microsoft Silverlight

Tags:

Udvikleren.dk | VS2010

Mere om object caching i .NET 4.0

by Administrator 15. February 2010 09:39

For nogle uger siden skrev jeg en kort post omkring object caching i .NET 4.0 og nu har jeg altså fundet en hel PDC 2008 video omkring emnet. Den er rigtig grundig og giver et godt indtryk af hvorfor der er netop er lidt ændret i frameworket ift. caching.

Get Microsoft Silverlight

Tags:

Udvikleren.dk | VS2010

Visual Studio .NET 2010 og .NET 4.0 TechTalk på Onsdag, kom og vær med.

by Administrator 15. February 2010 09:20

På Onsdag (d.17) får Microsoft fint besøg af Henrik Lykke Nielsen som skal give en præsentation af .NET 4 samt Visual Studio 2010. Det bliver en ret bred præsentation hvor der vil være mulighed for at få et helhedsindtryk af både det nye “studie” og de mange forskellige nyheder i frameworket. Pga. af det store deltager antal er vi rykket fra Tuborg Havnevej 12 til Tuborg Havnevej 19 hvor Rønne og Lundgren bor. Det eneste du skal gøre er at registrere dig og dukke op her, senest kl. 9:20 på Onsdag.

Vi glæder os til at se dig ;0)

newdotnetlogo_2

Husk at følge med i vores andre arrangementer på MSDN.dk.

Tags:

VS2010 | Udvikleren.dk

Silverlight 4 features

by Administrator 11. February 2010 10:50

Silverlight 4 er som du allerede ved, i beta, og der er faktisk kommet ret mange fede ting med den nyeste version af Silverlight frameworket.

Tim Heuer som er program manager i Microsoft har skrevet om alle de nye features i Silverlight 4.0, og man må sige det er en ret udførlig blogpost.

Nogle af de fedeste features, hvis du spørger mig, er: HTML hosting, webcam/mikrofon support, local file access og google chrome support.

Du kan læse og se demo kode af samtlige nye features i Silverlight 4.0 her.

Tags:

VS2010 | Udvikleren.dk

WCF RIA Services

by Administrator 11. February 2010 10:24

Tidligere kendt som .NET RIA services

I forbindelse med Silverlight 3 kom der (endnu) en mulighed for nemmere at snakke med sin database igennem Silverlight. Før WCF RIA services har det kun været muligt at tilgå sin database igennem asynkrone kald igennem et service lag. Service laget er du stadig nødt til at have på plads, men det asynkrone er blevet pakket væk fra os, og det er derfor blevet noget mere gennemskuelig og lettere at lave kald til sin database igennem sine services.

Med WCF RIA services opretter du services på baggrund af en data kilde (database f.eks). Det gør du på server siden af dit projekt, og de metoder du opretter i de services bliver samtidig tilgængelige på klient siden, altså Silverlight. Det hele sker lidt på baggrund af noget auto-genereret kode som VS laver for os, men betyder altså at vi får direkte adgang til de samme services på klient siden som på server siden.

En demo af WCF RIA Services kan du se her. Jeg har kun set de første 10-12 minutter da det er her man får indtryk af det fundementale.

Install Silverlight

Tags:

VS2010 | Udvikleren.dk

WCF Data Services

by Administrator 11. February 2010 09:16

Med .NET 4.0 er ADO.NET Data Services blevet til WCF Data Services.

Med WCF data services kan du både konsumere datakilder og stille datakilder til rådighed, uanset om det er in-memory objekter eller fra relation databaser. Når du bygger en data kilde op fra f.eks in-memory objekter vil de blive tilgængelige over et REST interface som man kan tilgå fra hvor som helst (så længe “hvor som helst” kan parse XML).

WCF Data Services er utrolig fleksibelt og faktisk super nemt at gå til, det kræver faktisk ikke meget kode at prøve det af. File –> New –> Wcf Data Service:

using System;
using System.Data.Services;
using System.Data.Services.Common;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel.Web;

public class UsersDataService : DataService<UsersContext>
{
    public static void InitializeService(DataServiceConfiguration config) {
        config.SetEntitySetAccessRule("Users", EntitySetRights.AllRead);
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
    }
}

public class User
{
    public int ID { get; set; }
    public string Username { get; set; }
}

public class UsersContext
{
    static List<User> _users;

    static UsersContext() {
        _users = new List<User>() { 
            new User { ID = 1, Username = "Daniel" }, 
            new User { ID = 2, Username = "Henrik" } 
        };
    }

    public IQueryable<User> Users {
        get { return _users.AsQueryable();  }
    }
}

Højreklik og vælg “view in browser”. Nu vil du få det data ud som er i vores in-memory objekt, som XML.

Hvis du gerne vil se mere omkring WCF Data Services vil jeg forslå du ser disse screencasts igennem.

 

(ADO.NET Data Services baseret på en Non-Relational Data Source)

(ADO.NET Data Services baseret på en Relational Data Source)

Tags:

Udvikleren.dk | VS2010

Custom ActionFilter i ASP.NET MVC

by Administrator 8. February 2010 18:55

Jeg synes ASP.NET MVC er mega sejt, især fordi det er så nemt og simpelt at hooke ind. Jeg har haft brug for at lave noget custom-validering af nogle brugere og i den forbindelse har jeg bygget mit egen ActionFilter.

public class NeedLoginFilter : ActionFilterAttribute
{
    public override void OnActionExecuted( ActionExecutedContext filterContext ) {
        if (filterContext.HttpContext.Session["identifier"] == null) {
            filterContext.HttpContext.Response.Redirect( "/home/index" );
        }
    }
}

Når jeg så gerne vil tjekke om en bruger har logget ind eller ej kan jeg simpelthen bar smide attributen på den metode jeg ønsker at validere. Det er sgu smart og nemt :)

[NeedLoginFilter()]
public ActionResult Index()
{
    return View();
}

Tags:

Udvikleren.dk | VS2010

TechTalk i Vedbæk d. 26 Februar.

by Administrator 3. February 2010 11:22

With Visual Studio 2010, Microsoft is shipping a broad set of technologies to support programmers in their quest of taking full advantage of the emerging parallel hardware. In this talk, Niklas Gustafsson, software architect at Microsoft Corporation, will present these technologies and give an overview of the kinds of algorithms targeted. Supporting both native-code development in C++ and managed-code development in C#, Visual Basic and F#, the new libraries and language features have a lot to offer the parallel programmer.

Tilmeld dig her.

Tags:

Udvikleren.dk | VS2010

Prototyping og eksportering med SketchFlow i Silverlight

by Administrator 29. January 2010 11:10

Jeg har lige lavet min første SketchFlow applikation, og udover mine manglende evner til at designe noget som helst, så gik det faktisk rigtig godt. SketchFlow er noget der følger med i Silverlight 3 samt Expression Blend 3, som gør det muligt at lave prototyper af…ja, faktisk alle former for software. Du kan importere billeder i Adobe’s formater samt powerpoint filer, for nemmere at skabe et flow samt og design i ens kommende applikation og linke de såkalde “screens” sammen med hinanden for at give en heldhed af applikationen.

Prototypen kan du se i en browser, andre kan skrive kommentarer til den, sende kommentarerne tilbage til udvikleren og indlæse dem direkte i Blend. Det er faktisk ret gennemført. Udover det kan du også eksporter både prototype og feedback til word og sende det til kunden for gennemgang. Alt i alt et ret skarpt produkt som kan spare dig rigtig mange timer i starten af et projektforløb.

Her er en kort billedeserie af forløbet.

5 (opret nyt sketchflow projekt)

1 (definer og lav dine “screens”)

3 (overblik over screens)

4 (se din app i en browser og skriv kommentarer til de forskellige screens)

2   (kommentar felt med forskellige muligheder)

6 (feedback vindue i expression blend)

7 (eksporter til word)

Her kan du læse mere omkring SketchFlow og Silverlight.

Tags:

VS2010

Automatisk start af web applikationer

by Administrator 28. January 2010 11:23

Første gang man requester en ASP.NET applikation kan der, afhængigt af hvor meget data den skal loade etc., tage en del tid før man rent faktisk får siden frem. Det kan være et problem som ikke er let at komme udenom – før nu.

Med ASP.NET 4.0 og en IIS 7.5 kan du “varme” din applikation op før den rent faktisk bliver kaldt.

For at bruge denne feature skal du slå “application warm up” til i din applicationHost.config fil under system32\inetsrv\config:

<applicationPools>
  <add name="MyApplicationPool" startMode="AlwaysRunning" />
</applicationPools> 

En application pool kan indeholde mange forskellige applikationer/sites og derfor kan det være du også skal specificere hvilke sites denne feature skal berøres af.

<sites>
  <site name="MySite" id="1">
    <application path="/" 
      serviceAutoStartEnabled="true"
      serviceAutoStartProvider="PrewarmMyCache" >
      <!-- Additional content -->
    </application>
  </site>
</sites>

<!-- Additional content -->

<serviceAutoStartProviders>
  <add name="PrewarmMyCache"
    type="MyNamespace.CustomInitialization, MyLibrary" />
</serviceAutoStartProviders>

For hver applikation der er sat op til at starte automatisk, sender IIS’n en et request til den pågældende ASP.NET applikation som fortæller at applikatsom skal starte i en state hvor den ikke kan modtage requests. Du kan oprette en auto-start type med det nødvendige end-point ved at implementere IProcessHostPreloadClient interfacet:

public class CustomInitialization : System.Web.Hosting.IProcessHostPreloadClient
{
  public void Preload(string[] parameters)
  {
    // Perform initialization. 
  }
}

Når denne metode returner, så er din applikation klar til at modtage requests.

Denne feature kræver IIS 7.5 som i skrivende stund kun findes på en Windows 2008 R2 server.

Tags:

VS2010

Object caching med .NET 4.0

by Administrator 28. January 2010 10:28

I .NET 4.0 er der kommet et helt nyt caching namespace og assembly. System.Runtime.Caching hedder namespacet og under det namespace ligger der en række abstrakte typer til udvikling af egne caching mekanisker samt et konkret API du kan bruge i din applikation, når du vil cache.

Den nye MemoryCache er bygget udfra ASP.NET caching, som igennem årene har været så populær, at mange også bruger det konkrete ASP.NET caching API i f.eks WPF eller WebForms. Nu har vi altså fået et bredere API der er beregnet til brug i alle former for applikationer.

Her er et simpelt eksempel:

string contents = string.Empty;

ObjectCache memCache = MemoryCache.Default;

if (memCache["persons"] == null) {
    string filepath = Server.MapPath("persons.txt");

    CacheItemPolicy itemPolicy = new CacheItemPolicy();
    itemPolicy.AbsoluteExpiration = new DateTimeOffset(DateTime.Now.AddSeconds(30));
    itemPolicy.ChangeMonitors.Add(
        new HostFileChangeMonitor(new List<string> { filepath }));

    contents = File.ReadAllText(filepath);
    memCache.Set("persons", contents, itemPolicy);
}

Response.Write(contents);

Her opretter vi en instans af en ObjectCache, tjekker for en nøgle og indsætter evt. noget data fra en fil. Hvis filen senere bliver opdateret så opdateres cachen, det er HostFileChangeMonitor der er skyld i det. Når cachen udløber bliver der ligeledes opdateret.

Tags:

VS2010

RedirectPermanent i ASP.NET 4

by Administrator 26. January 2010 14:12

Når man flytter content rundt på sit site, laver man ofte nye links, og eventuelle Response.Redirect’s fra de gamle links der matcher disse nye links. Det har alle vidst gjort en eller flere gange i deres karriere. Problemet med Response.Redirect er at den giver browseren en HTTP status kode (302) hvilket resultere i et ekstra round-trip til serveren.

I ASP.NET 4 har vi fået en hjælpe-metode ved navn RedirectPermanent som giver browseren den mere korrekte statuskode (301) samt eliminere den ekstra roundtrip.

Du kalder blot:

RedirectPermanent("/newpath/foroldcontent.aspx"); 

Tags:

VS2010

Areas i MVC 2.0

by Administrator 22. January 2010 10:14

Tags:

VS2010

DataAnnotations i MVC 2.0

by Administrator 21. January 2010 10:24

Tags:

VS2010

Cloud computing forklaring

by Administrator 9. January 2010 10:44

En genial video og præsentation lavet af min kollega René Løhde.

 

Hvad er Cloud Computing? from Rene Lohde on Vimeo.

Tags:

VS2010

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

HttpModules i IIS 7.x

by Administrator 16. November 2009 11:31

Jeg har tidligere skrevet en post omkring HttpHandlers i IIS 7.x. Denne gang vil jeg forsøge at forklare jer lidt omkring hvad et HttpModule er og hvad man kan få ud af at bruge det.

Et HttpModule er, ligsom en HttpHandler en mulighed for at extende Windows webserveren, IIS. Forskellen på en Handler og et Module er at man i et Module for det første er et ligner ISAPI filter hvorimod en Handler ligner en ISAPI extension. Når jeg skriver “ligner” i denne sammenhæng er det fordi, at ISAPI filtre samt extensions ikke længere behøver at være skrevet i unmanaged kode, og at både “request pipelinen” samt hele IISn er lavet om, så man nu kan tilgå den og dens features via ren .NET. På den måde kan man altså extende sin webserver med lethed.

Inden vi går videre skal du måske lige have en opfrisker….kan du huske hvad der sker når der bliver lavet et request til f.eks ASP.NET ?

En af de fede ting ved IIS 7.x er at ASP.NET runtimen er blevet bygget ind i webserveren. Det betyder bla. at der er én og kun én “request cycle pipeline” for alle requests. Det kommer vi til at se nærmere på lige om lidt.

Du skal bruge HttpModules fordi…

1. Den samme pipeline raiser alle de events som er bygget ind i HttpApplication typen. Det gør det muligt at bygge egne HTTP moduler og handlers til IIS med .NET.

2. Både (un)managed HTTP moduler og handlers kan sættes på webserver, website eller applikations niveau.

3. Managed HTTP moduler kan kaldes på hvilket som helst tidspunkt i "request cycle pipelinen”. Både før og efter serveren rent faktisk gør noget ved selve requestet.

Lad os se på hvordan du laver et HttpModule. Du skal ligsom med en HttpHandler implementere et interface. Interfacet for HttpModuler hedder IHttpModule og giver dig 2 ting. Init og Dispose.

Jeg har stjålet lidt kode fra Mads Kristensens blog da han har skrevet utrolig meget omkring både HttpHandlers og HttpModules.

using System;
using System.Web;
using System.Configuration;
using System.Collections.Specialized;

public class IpBlockingModule : IHttpModule
{
void IHttpModule.Dispose()
{
// Nothing to dispose;
}

void IHttpModule.Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}

private void context_BeginRequest(object sender, EventArgs e)
{
string ip = HttpContext.Current.Request.UserHostAddress;
if (_IpAdresses.Contains(ip))
{
HttpContext.Current.Response.StatusCode = 403;
HttpContext.Current.Response.End();
}
}

private static StringCollection _IpAdresses = FillBlockedIps();

private static StringCollection FillBlockedIps()
{
StringCollection col = new StringCollection();
string raw = ConfigurationManager.AppSettings.Get("blockip");
raw = raw.Replace(",", ";");
raw = raw.Replace(" ", ";");

foreach (string ip in raw.Split(';'))
{
col.Add(ip.Trim());
}

return col;
}
}

Ovenstående HttpModule er ikke til noget nytte medmindre du også har implementeret den rigtige appsetting samt registret den i din applikation eller på website/server niveau.

<appSettings> 
<add key="blockip" value="44.0.234.122, 23.4.9.231"/>
</appSettings>

<system.webServer>
<modules>
<add name="IpBlocking" type="IpBlockingModule" />
</modules>
</system.webServer>
 
Som i kan se så er der lavet et “hook” ind i request pipelinen, ved den event der hedder BeginRequest (kig i Init metoden). Dette modul bliver tilføjet til den bunken med de andre moduler som et request skal igennem, og i dette tilfælde vil hvert request blive tjekket med denne IpBlocking rutine som Mads har været så rar at skrive.
 
Hvis du ikke allerede har extended din IIS webserver så er det med at komme igang ;0)

Tags:

VS2010

Et lille Visual Studio 2010 tip.

by Administrator 15. November 2009 19:38

Dobbeltklik på en tab i studiet og du vil få et vindue uden alt det omkringliggende “snask”.

tip

Tags:

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