Semplice, basta dire che il suo vero nome è Mojave.
Adesso sono curioso di vedere il video (29 Luglio) di questo strepitoso esperimento:
Mojave Experiment
Fonte: A Ovest di Paperino
Labels
- .Net Framework 3.5 (7)
- Asp.Net 1.1 (21)
- Asp.Net 2.0 (44)
- Asp.Net 3.5 (23)
- Asp.Net Ajax (6)
- Asp.Net MVC (4)
- Biztalk (2)
- Blend (5)
- C# (26)
- css (10)
- DB2 (3)
- Framework 1.1 (10)
- Framework 2.0 (9)
- IE 7.0 (5)
- Interop Office (2)
- javascript (29)
- Library (11)
- Links (19)
- LINQ (1)
- Micro Framework (2)
- Microsoft (57)
- Microsoft Expression (3)
- Mobile (14)
- Office (9)
- Oracle (1)
- Photosynth (3)
- PowerShell (6)
- Regular Expression (2)
- Sharepoint 2007 (8)
- Silverlight (34)
- SQL Server 2000 (6)
- SQL Server 2005 (5)
- SQL Server 2008 (3)
- Tools (34)
- varie (46)
- VB.NET (19)
- Virtual Earth (10)
- VS 2003 (6)
- Vs 2005 (12)
- VS 2008 (20)
- VS 2010 (1)
- web (48)
- Windows (3)
- Windows Media Center (4)
- Workflow Foundation (14)
- WPF (20)
Saturday, July 26, 2008
Cambiare opinione su Vista?
Etichette: WindowsMicrosoft Scalable Fabric
Microsoft Scalable Fabric è un task management system per desktop Windows, che genera una sorta di tumbnail gallery delle finestre non attive.
Tramite un menù è possibile personalizzare il tutto: indicare la zona di ridimensionamento delle finestre, la massima/minima dimensione.
Man mano che trasciniamo la finestra fuori zona avvicinandoci così ai bordi dello schermo, questa diventerà sempre più piccola.
Inoltre si ricorda dell'ultima posizione delle finestre quando queste vengono ridotte.
Necessita del Framework .NET 1.1.
Monday, July 21, 2008
Creare un albero genealogico
Etichette: varie, webPer chi vuole divertirsi nel creare il proprio albero genealogico, esistono diversi servizi web che offrono la possibilità non solo di disegnarlo ma anche di condividere online, con parenti ed amici, il proprio lavoro.
| Ancestry | |
| Geni | |
| Famillion |
Saturday, July 19, 2008
ToDoList
Etichette: Tools, varie
ToDoList, segnalatomi da un mio collega, è un task list manager utile a gestire le note di lavori. Presenta moltissime funzionalità: ordinamenti, filtri, export, possibilità di task gerarchici, ecc.
Il tutto viene memorizzato in file XML.
Presenta un'interfaccia molto semplice e anche dal punto di vista grafico devo dire che c'è stato un'ottimo lavoro.
Se a tutto questo ci aggiungiamo che è freeware, non possiamo esimerci dal provarlo.
Monday, July 14, 2008
Esecuzione di un workflow usando XOML
Etichette: Workflow FoundationE' possibile eseguire un workflow passando al metodo CreateWorkflow un tipo di flusso:
1: WorkflowInstance instance = runtime.CreateWorkflow(typeof(Workflow1));
Prima di spiegare il come, faccio un piccolo passo indietro per dire che Workflow Foundation ci permette di creare un flusso di lavoro essenzialmente in tre modi:
-solo codice, ne scaturisce che deve essere necessariamente compilato;
-separazione del codice, quindi code-behind più markup del flusso, simile a ciò che avviene quando si programma in Asp.Net,
-niente codice, quindi solo markup. In quest'ultimo caso si può anche non compilare.
Il markup viene definito in un file con estensione .xoml.
Giusto per dare un'idea di ciò che si può fare, possiamo per esempio, eseguire questo semplicissimo file XOML:
1: <SequentialWorkflowActivity x:Class="SeqWF.Workflow3" x:Name="Workflow3"
2: xmlns:ns0="clr-namespace:ActivityLibrary;Assembly=ActivityLibrary, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null"
3: xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/workflow">
5: <ns0:MyActivity x:Name="MyActivity" />
6: </SequentialWorkflowActivity>
Questo activity non fa altro che scrivere nella finestra di Output di Visual Studio un semplice messaggio:
1: public partial class MyActivity : System.Workflow.ComponentModel.Activity
2: {3: public MyActivity()
4: { 5: InitializeComponent(); 6: } 7: 8: protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
9: {10: System.Diagnostics.Debug.WriteLine("Esecuzione metodo");
11: return ActivityExecutionStatus.Closed;
12: } 13: }1: try
2: {3: //Folder contenente la dll dell'assembly ActivityLibrary e il file XOML
4: string path = "path dll Activity e file XOML";
5: WorkflowRuntime runtime = new WorkflowRuntime();
6: 7: ManualWorkflowSchedulerService scheduler = new ManualWorkflowSchedulerService();
8: runtime.AddService(scheduler); 9: 10: TypeProvider typeProvider = new TypeProvider(runtime);
11: System.Reflection.Assembly ass = System.Reflection.Assembly.LoadFrom(12: System.IO.Path.Combine(path, "ActivityLibrary.dll"));
13: typeProvider.AddAssembly(ass); 14: runtime.AddService(typeProvider); 15: 16: runtime.StartRuntime(); 17: 18: System.IO.StreamReader sr = new System.IO.StreamReader(
19: System.IO.Path.Combine(path, "Workflow3.xoml"));
20: System.Xml.XmlReader xml = System.Xml.XmlReader.Create(sr); 21: WorkflowInstance instance = runtime.CreateWorkflow(xml); 22: 23: instance.Start(); 24: scheduler.RunWorkflow(instance.InstanceId); 25: }26: catch (System.Workflow.ComponentModel.Compiler.WorkflowValidationFailedException exc)
27: {28: foreach (ValidationError err in exc.Errors)
29: {30: string error = err.ErrorText;
31: } 32: }Per l'uso di un file xoml viene usato l'overload del metodo CreateWorkflow in cui invece di un tipo viene passato un oggetto XmlReader.
Con tale file Workflow3.xoml verrà lanciata la seguente eccezione:
| x:Class cannot be used when the markup is executed directly without creating a new activity type |
Volendo è possibile ignorare errori di convalida, quando viene invocato il metodo CreateWorkflow, settando a false la property ValidateOnCreate:
1: WorkflowRuntimeSection section = new WorkflowRuntimeSection();
2: section.ValidateOnCreate = false;
4: WorkflowRuntime runtime = new WorkflowRuntime( section);
