En spännande demonstration som både visar Windows Workflow Foundation (WF) och Windows Communication Foundation (WCF).
Source: WF Expense Report
Originally published on Fri, 12 Jan 2007 23:33:57 GMT
En spännande demonstration som både visar Windows Workflow Foundation (WF) och Windows Communication Foundation (WCF).
Source: WF Expense Report
Originally published on Fri, 12 Jan 2007 23:33:57 GMT
Posted at 10.32 in .NET, Coding, Example, Workflow | Permalink | Comments (0) | TrackBack (0)
[FJL – Fighting Jet Lag]

Windows Workflow foundation blev den största nyheten för mig på PDC-konferensen. Jag blev verkligen sugen på att börja testa den.
Nu kan alla göra det. Man behöver inte ha medverkat på PDC-konferensen för att få tag på vare sig den första betaversionen eller de hands-on-lab som fanns där. Hands-on-labben är verkligen bra för att komma igång. Jag körde några stycken under konferensen.
Gå till Windows Workflow Foundation’s hemsida. Där finns både betan och hands-on-labben att ladda ned. Det man också behöver är Visual Studio 2005 Beta 2 för att få allt att fungera. (Men den skall inte vara alltför svår att få tag på.)
Posted at 10.10 in .NET, Example, Service Oriented Architecture | Permalink | Comments (0) | TrackBack (0)
Jag sitter just nu i ett projekt där vi skriver en webbapplikation som hanterar flera språk och regioner. Det innebär att vi bland annat måsta ta hänsyn till olika datumformat. Det finns en valideringskontroll som man kan använda för att validera om ett datum är rätt. Det fungerar till och med på klientsidan. Men det finns ett problem och det är att valideringen endast triggas igång när man gör någon form av submit på sidan. I projektet vill vi kunna kontrollera datumet även när vi flyttar oss till en annan kontroll på sidan.
För att lösa detta kan man naturligtvis bygga egna javascript som hanterar olika datumformat för att göra en rätt validering. Men vår fundering var om man inte kunde använda sig av valideringskontrollens valideringsfunktioner, för dessa fungerar redan när man gör submit. Och det gjorde vi.
I det här exemplet vill jag visa på hur man kan sparka igång en validering utan att behöva göra en submit av sidan. (Observera att jag använder mig av ASP.NET:s egna valideringsskript. Detta kanske inte kommer att vara kompatibla i framtiden. Men det har jag inte kollat upp. Exemplet fungerar i Visual Studio 2003 och troligtvis också i Visual Studio 2002.)
Vi börjar med att skapa ett nytt webbprojekt och lägger till tre kontroller i WebForm1.Aspx:
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox> <asp:button id="Button1" runat="server" text="Button"></asp:button> <asp:comparevalidator id="CompareValidator1" runat="server" errormessage="CompareValidator" controltovalidate="TextBox1" operator="DataTypeCheck" type="Date"> </asp:comparevalidator>
En TextBox, som skall innehålla datumet och en Button, som endast använts för att kunna ge en annan kontroll fokus, och en CompareValidator, vilket har möjligheten att validera att någon information är av av en speciell typ. (Den har även annan funktionalitet, som hörs av namnet.) Den här validatorn kontrollerar innehållet i Textboxen och kontrollerar om den är av typen Date.
I code-behind-filen:s Page_Load lägger vi in följande två rader:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
TextBox1.Text = DateTime.Now.ToShortDateString
TextBox1.Attributes.Add("onChange", _
"validDate('" + CompareValidator1.ClientID + "')")
End Sub
Den första raden skriver ut dagens datum i Textboxen. Den andra raden lägger till ett attribut i Textboxen. Attributet är en händelse, onChange, som när den utlöses, kör igång funktionen validateDate(), vilket är ett javascript som jag strax kommer att beskriva. Som argument till denna funktion har vi validatorns id. (CompareValidator genereras som en span-tag.)
Det sista som vi behöver göra, för att sparka igång validatorns valideringsfunktion när vi ändrar något i Textboxen, är ett javascript som implementerar validDate().
<script language="javascript">
<!--
function validDate(cvName)
{
var cv = document.getElementById(cvName);
CompareValidatorEvaluateIsValid(cv);
}
//-->
</script>
Skriptet gör två saker. För det första letar den fram vår valideringskontroll genom att leta upp kontrollen med dess namn. Namnet som vi skickade in med parametern cvName. Sedan kör vi igång validatorns valideringsfunktion CompareValidatorEvaluateIsValid() och skickar med valideringskontrollen som en parameter till denna.
Vart ligger CompareValidatorEvaluateIsValid() någonstans? Jo, denna funktion ligger i ett skript som installeras när .NET Framework installeras. Den installeras så att den kan användas av alla webbapplikationer som körs i IIS:en på datorn. Vanligtvis ligger den i katalogen C:\Inetpub\wwwroot\aspnet_client\system_web\1_1_4322 och heter WebUIValidation.js. Titta gärna igenom den filen. Det finns godbitar där som man kan ha nytta av.
Nu är det dags att kör igång och testa. Ange ett ej giltigt datum och tryck på TAB-tangenten för att förlyttas till nästa kontroll på sidan. Nu skall en röd text komma upp på skärmen. Den indikerar att datumet är ogiltigt.
Nu skall vi ändra våra inställningar för webbapplikationen så att vi istället kör med finskt datumformat. Det går att göra på flera sätt. Det enklaste är att öppna web.config och lägga till ett attribut i elementet globalization.
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="fi-FI"/>
Nu kan du provköra det och se att valideringen av datumet även fungerar med ett annat datumformat.
Posted at 16.01 in .NET, Coding, Example | Permalink | Comments (0) | TrackBack (0)
“Starter Kits” är ett intressant initiativ som Microsoft har skapat. Det är fullständiga program som man kan ladda ned, med källkod och allt. Det som är extra roligt med dem är att det är lite annorlunda applikationer. Jag ramlade precis på ett sådant “kit”, som gör att man kan utveckla ett “black jack” kortspel. Man kanske kan använda det för att skapa egna patientsspel. Det är något som jag då och då har varit sugen att göra.
Card Game Starter Kit
This Visual C# Starter Kit is a complete Black Jack card game. The starter kit contains an extensible framework for building card games and a Black Jack game application that is built on top of this framework. The project comes ready to compile and run, but it's easy to customize with only a little extra C# programming. The section Expanding the Card Game contains a list of some customizations you might make. You are also free to use the source code as the basis for your own card game projects, and share your work with others or upload it to the Internet.
Posted at 22.18 in .NET, Example, Fun, Games | Permalink | Comments (0) | TrackBack (0)
Om du har några frågor om XSLT så är detta siten för dig. Det verkar vara en mycket bra FAQ. Den måste jag lägga upp bland mina, bra-att-ha-länkar.
Posted at 18.34 in Example, Link, Web/Tech | Permalink | Comments (0) | TrackBack (0)
I den här artikeln vill jag demonstrera ett sätt att hämta information ifrån en webbserver utan att behöva ladda om hela sidan. Detta kan användas till mycket, alltifrån att verifiera inmatningar till att kontrollera om några nyheter har inkommit.
(Jag kommer i en framtida artikel visa på hur man kan utveckla det senare med ett snyggt popup-fönster som dyker upp när en nyhet har publicerats på servern.)
Posted at 13.48 in .NET, Article, Example | Permalink | Comments (0) | TrackBack (0)