Hamachi ha perso la connessione con il motoreijwwrpokyu02e6oevcxiisk70mhq1r69Hamachi ha perso la connessione con il motore

Tagged Under : , , , , , , ,

(Italiano → English) View original
Translators:

Cosa succede al povero Hamachi? Come potrà continuare a scorrazzarci sulle autostrade del sicuro traffico crittografato, senza il suo proverbiale motore trainante?m8sbeqdv3y8hjfj9ed5hsl93ecspa69z

Non può. Ecco perchè, a questo scomodo errore che ultimamente imperversa sulla mia macchina ad ogni ibernazione del sistema, serve un workaround che non richieda più di un paio di click (un doppio click, per essere precisi) per risolvere il problema.mw4k8ac8t5yk497lytnqqc4lgmrdid0m

Senza dilungarsi sulle motivazioni che causano la perdita di connessione, sembra che disabilitare la scheda di rete virtuale e riavviare il servizio, sia un metodo efficace e veloce per risolvere il problema, almeno sulla mia macchina :Dmv0keyfi24onckkgcs8o1lgaz7dj06vx

Per farlo si può scegliere la faticosa strada di aprire la mmc, riavviare a mano il servizio, poi aprire la gestione delle schede di rete1, disabilitare  e riabilitare la scheda virtuale, e infine avviare la GUI.mjdu7hfwtbdqxd8sw7rwzcbs2hc88dnk

Oppure, con enorme risparmio di energia, si può creare un semplice script da eseguire con un doppio click ogni volta che hamachi ha bisogno di andare dal meccanico.mw6dqxbc2o3tto7ln38elnq1pene5ycj

Potete scaricare il file qui sotto, rinoninandolo da .txt in .bat dopo averlo scaricato, e avendo l’accortezza, solo se avete un sistema a 32 bit e non uno a 64bit, di sostituire l’ultima riga:nwf5x83ws8tw0hjvkdm7ugo4vzc2qwxw


"C:\Program Files (x86)\LogMeIn Hamachi\hamachi-2-ui.exe"

con questa:nx1r76lp1ckz7rtk1zvu1v9jqk18fz8b


"C:\Program Files\LogMeIn Hamachi\hamachi-2-ui.exe"
RestartHamachi.bat

Questo di seguito è il codice contenuto nello script, se preferite potete sempre crearvi il vostro bat attigendo da qui:nxajehe9rwa2fk4uyaamao7lw5pw1xtn


netsh interface set interface "Hamachi" DISABLED
ping 1.1.1.1 -n 5 -w 1000 > nul
netsh interface set interface "Hamachi" ENABLED
ping 1.1.1.1 -n 5 -w 1000 > nul
sc stop hamachi2svc
ping 1.1.1.1 -n 5 -w 1000 > nul
sc start hamachi2svc
ping 1.1.1.1 -n 5 -w 1000 > nul
"C:\Program Files (x86)\LogMeIn Hamachi\hamachi-2-ui.exe"
  1. che se avete un sistema da Vista in avanti sapere quanto è diventata scomoda da raggiungere []nxjclt7tig05mdf4vlofji6n3qdkmve0
(original) Visualizza English translation

Cosa succede al povero Hamachi? Come potrà continuare a scorrazzarci sulle autostrade del sicuro traffico crittografato, senza il suo proverbiale motore trainante?

Non può. Ecco perchè, a questo scomodo errore che ultimamente imperversa sulla mia macchina ad ogni ibernazione del sistema, serve un workaround che non richieda più di un paio di click (un doppio click, per essere precisi) per risolvere il problema.

Senza dilungarsi sulle motivazioni che causano la perdita di connessione, sembra che disabilitare la scheda di rete virtuale e riavviare il servizio, sia un metodo efficace e veloce per risolvere il problema, almeno sulla mia macchina :D

Per farlo si può scegliere la faticosa strada di aprire la mmc, riavviare a mano il servizio, poi aprire la gestione delle schede di rete1, disabilitare  e riabilitare la scheda virtuale, e infine avviare la GUI.

Oppure, con enorme risparmio di energia, si può creare un semplice script da eseguire con un doppio click ogni volta che hamachi ha bisogno di andare dal meccanico.

Potete scaricare il file qui sotto, rinoninandolo da .txt in .bat dopo averlo scaricato, e avendo l’accortezza, solo se avete un sistema a 32 bit e non uno a 64bit, di sostituire l’ultima riga:


"C:\Program Files (x86)\LogMeIn Hamachi\hamachi-2-ui.exe"

con questa:


"C:\Program Files\LogMeIn Hamachi\hamachi-2-ui.exe"
RestartHamachi.bat

Questo di seguito è il codice contenuto nello script, se preferite potete sempre crearvi il vostro bat attigendo da qui:


netsh interface set interface "Hamachi" DISABLED
ping 1.1.1.1 -n 5 -w 1000 > nul
netsh interface set interface "Hamachi" ENABLED
ping 1.1.1.1 -n 5 -w 1000 > nul
sc stop hamachi2svc
ping 1.1.1.1 -n 5 -w 1000 > nul
sc start hamachi2svc
ping 1.1.1.1 -n 5 -w 1000 > nul
"C:\Program Files (x86)\LogMeIn Hamachi\hamachi-2-ui.exe"
  1. che se avete un sistema da Vista in avanti sapere quanto è diventata scomoda da raggiungere []

Sidebar gadget with Canon, Nikon, and many other formats supportpw54o4g2qz0qa3tk2tjwkq2wexrbcp51Sidebar gadget with Canon, Nikon, and many other formats support

Tagged Under : , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

(Italiano → English) View original
Translators:

Tra tutti i software inutili che si possono installare in quel periodo compreso tra l’installazione del sistema operativo e l’inevitabile momento in cui saremo costretti a riformattarlo c’è una categoria di software di cui non ho mai saputo fare  a meno: i widget, declinati come gadget nella sidebar dei sistemi della famiglia NT 6.0, ovvero quelle piccole applicazioni che se ne stanno in un angolino (tipicamente sul desktop del sistema), per mostrare ad ylah3a198j00g5ykeor6wj7swp55uefnesempio l’utilizzo delle risorse, lo slideshow delle foto, per ascoltare la radio o per ospitare una sfera della verità, tanto inutili e fini a se stesse quanto irresistibili e divertenti. ymw3c8j3gnq3ng88uazt4ys7qavajhq2:-)yo99qghgnwi6spgrejw58ilcxuogdtim

Proprio utilizzando uno dei gadget che apprezzo di più, lo slideshow di Microsoft (incluso nel pacchetto di gadget installati di default sui sistemi sidebar-dotati), mi sono accorto di un’enorme limitazione che gli è stata imposta: le tipologie di file che il componente va ad indicizzare quando si seleziona una directory è limitata alle 5 estensioni più comuni utilizzate per le immagini (jpg, jpeg, png, bmp, gif), senza possibilità di filtraggio sugli stessi ne di aggiunta di nuovi tipi.yc8qhdrjwi79d15ofnlj8puhc3lmiwj6

Questa è una grossa limitazione, soprattutto per tutti quegli appassionati di fotografia reflexdotati,  abituati a maneggiare i file grezzi sfornati dai loro gioiellini digitali, che non hanno l’abitudine di esportare sempre le immagini in jpg o che magari vogliono mantenere anche i file grezzi salvando il tutto in un’unico formato, come potrebbe essere il recente (e si spera unificatore) dng.zb4qn1uu5ixcmchjtm6hix66up8t1peg

Sto parlando dei file cr2 prodotti dalle Canon, dei nef prodotti dalle nikon, degli sr2 prodotti dalle Sony, gli orf prodotti dalle Olympus e di una lunga serie di formati, rigorosamente proprietari e differenti, e chiaramente non standardizzati per cui non esiste un software gratuito in grado di aprirli tutti, e per cui i produttori non sempre rilasciano i codec necessari alla visualizzazione nel sistema operativo utilizzato1.zaa5ofhkfdlfwpwl3z2qw0951bq0d9tm

Attualmente pare che per chi utilizza sistemi a 64bit di Microsoft e voglia visualizzare i file raw prodotti dalla propria reflex direttamente nel visualizzatore immagini di windows l’unica strada possibile sia quella di installare un software di terze parti, come il FastPictureViewer codec pack2, che include i codec per interpretare correttamente la maggioranza di questi formati proprietari.zxwtep1f7fajijm3ksx9xlvxsmmpf654

E’ proprio basandomi sui formati interpretabili da questo codec pack, e modificando lo slideshow di Microsoft, che ho sviluppato una versione potenziata del gadget slideshow per la sidebar (SlideEXT3), che consente di selezionare quali formati indicizzare nella directory selezionata per la visualizzazione delle immagini che vogliamo ci distraggano in continuazione mentre siamo al pc.zkva6mbig1zm4vb0lwmnxs427wjvj86p

I formati gestibili con il gadget sono 27, corrispondenti ai 6 formati standard visualizzabili di default da windows più tutti i formati proprietari aggiunti dal codec pack:zlivfktco6qpa5mp1iua56oh2g918bi4


.jpg
.jpeg
.gif
.png
.bmp
.tif
.dng
.cr2
.crw
.nef
.nrw
.orf
.erf
.raf
.3pr
.fff
.kdc
.dcr
.raw
.mef
.mrw
.rw2
.pef
.x3f
.cs1
.sr2
.arw

Il gadget è localizzato in italiano ed inglese, per installarlo è sufficiente prelevarlo da qui e fare un doppio click sul file salvato.0y1z294cwnhr5fjcv0zhnncg0do7b5m8

Slideshow EXT

———————————————————————————————————–0zas9lxvn77uc8umtbeawgai7ycvw37l

@17.04.10: ho aggiornato il gadget aggiungendo nuove utili funzionalità. In particolare ora:0m991h7zwuwyxkjjtf3ownjnm8921595

  • è possibile scegliere la dimensione dell’immagine “undocked”, ovvero quando non è chiusa nella sidebar0bc4zbmwm5n0gc5ohg9lrknu0gbpfmhx
  • è possibile memorizzare tutte le impostazioni del gadget in modo permanente. Per farlo leggo e scrivo dei valori nel registro41dbiaxuzcte3m4eshec2wkvmi03d7uie
  • è possibile scegliere in qualunque momento di eliminare i valori salvati nel registro, di tornare alle impostazioni di default o di non utilizzare temporaneamente i valori salvati1qumwm5zkb56gebfbvgaf0imhxij9oni

Il gadget è attualmente in fase di approvazione sulla gallery ufficiale:-)13drjchzrtw8ao925dlhxh6lftxocirn

@06.2010: Pare che finalmente si siano decisi ad approvare il gadget sulla gallery, ora è ufficialmente disponibile anche sul sito live.com140csazszxmbgyjqmzu44vr0aemu1l32

  1. questa è come minimo una critica diretta alla Canon, che fino ad ora ha rilasciato i codec per windows solo per i sistemi a 32 bit ignorando completamente quella fetta di utenti che utilizzano sistemi a 64 bit []1tpeohof8ode096hqq67179v0nn0cxkr
  2. il software attualmente viene distribuito a pagamento, ma pare che cercando bene e accontentandosi di versioni più vecchie sia comunque possibile reperire la vecchia versione gratuita []2tz7vshzy83h72hrn0lza17x78boxv64
  3. Slide EXTended for EXTensions []2uls5qzt7ctkecrg4mumhfsc2t1umyhi
  4. tutte sotto la chiave HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Sidebar\ []2jon3kepxnknx4dmro0jcdwjg13i0epa
(original) Visualizza English translation

Tra tutti i software inutili che si possono installare in quel periodo compreso tra l’installazione del sistema operativo e l’inevitabile momento in cui saremo costretti a riformattarlo c’è una categoria di software di cui non ho mai saputo fare  a meno: i widget, declinati come gadget nella sidebar dei sistemi della famiglia NT 6.0, ovvero quelle piccole applicazioni che se ne stanno in un angolino (tipicamente sul desktop del sistema), per mostrare ad esempio l’utilizzo delle risorse, lo slideshow delle foto, per ascoltare la radio o per ospitare una sfera della verità, tanto inutili e fini a se stesse quanto irresistibili e divertenti. :-)

Proprio utilizzando uno dei gadget che apprezzo di più, lo slideshow di Microsoft (incluso nel pacchetto di gadget installati di default sui sistemi sidebar-dotati), mi sono accorto di un’enorme limitazione che gli è stata imposta: le tipologie di file che il componente va ad indicizzare quando si seleziona una directory è limitata alle 5 estensioni più comuni utilizzate per le immagini (jpg, jpeg, png, bmp, gif), senza possibilità di filtraggio sugli stessi ne di aggiunta di nuovi tipi.

Questa è una grossa limitazione, soprattutto per tutti quegli appassionati di fotografia reflexdotati,  abituati a maneggiare i file grezzi sfornati dai loro gioiellini digitali, che non hanno l’abitudine di esportare sempre le immagini in jpg o che magari vogliono mantenere anche i file grezzi salvando il tutto in un’unico formato, come potrebbe essere il recente (e si spera unificatore) dng.

Sto parlando dei file cr2 prodotti dalle Canon, dei nef prodotti dalle nikon, degli sr2 prodotti dalle Sony, gli orf prodotti dalle Olympus e di una lunga serie di formati, rigorosamente proprietari e differenti, e chiaramente non standardizzati per cui non esiste un software gratuito in grado di aprirli tutti, e per cui i produttori non sempre rilasciano i codec necessari alla visualizzazione nel sistema operativo utilizzato1.

Attualmente pare che per chi utilizza sistemi a 64bit di Microsoft e voglia visualizzare i file raw prodotti dalla propria reflex direttamente nel visualizzatore immagini di windows l’unica strada possibile sia quella di installare un software di terze parti, come il FastPictureViewer codec pack2, che include i codec per interpretare correttamente la maggioranza di questi formati proprietari.

E’ proprio basandomi sui formati interpretabili da questo codec pack, e modificando lo slideshow di Microsoft, che ho sviluppato una versione potenziata del gadget slideshow per la sidebar (SlideEXT3), che consente di selezionare quali formati indicizzare nella directory selezionata per la visualizzazione delle immagini che vogliamo ci distraggano in continuazione mentre siamo al pc.

I formati gestibili con il gadget sono 27, corrispondenti ai 6 formati standard visualizzabili di default da windows più tutti i formati proprietari aggiunti dal codec pack:


.jpg
.jpeg
.gif
.png
.bmp
.tif
.dng
.cr2
.crw
.nef
.nrw
.orf
.erf
.raf
.3pr
.fff
.kdc
.dcr
.raw
.mef
.mrw
.rw2
.pef
.x3f
.cs1
.sr2
.arw

Il gadget è localizzato in italiano ed inglese, per installarlo è sufficiente prelevarlo da qui e fare un doppio click sul file salvato.

Slideshow EXT

———————————————————————————————————–

@17.04.10: ho aggiornato il gadget aggiungendo nuove utili funzionalità. In particolare ora:

  • è possibile scegliere la dimensione dell’immagine “undocked”, ovvero quando non è chiusa nella sidebar
  • è possibile memorizzare tutte le impostazioni del gadget in modo permanente. Per farlo leggo e scrivo dei valori nel registro4
  • è possibile scegliere in qualunque momento di eliminare i valori salvati nel registro, di tornare alle impostazioni di default o di non utilizzare temporaneamente i valori salvati

Il gadget è attualmente in fase di approvazione sulla gallery ufficiale:-)

@06.2010: Pare che finalmente si siano decisi ad approvare il gadget sulla gallery, ora è ufficialmente disponibile anche sul sito live.com

  1. questa è come minimo una critica diretta alla Canon, che fino ad ora ha rilasciato i codec per windows solo per i sistemi a 32 bit ignorando completamente quella fetta di utenti che utilizzano sistemi a 64 bit []
  2. il software attualmente viene distribuito a pagamento, ma pare che cercando bene e accontentandosi di versioni più vecchie sia comunque possibile reperire la vecchia versione gratuita []
  3. Slide EXTended for EXTensions []
  4. tutte sotto la chiave HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Sidebar\ []

ASP.NET Dynamic Data Preview 4 :: Compiler error4bwvh73qaeeaw044f5wvxmaitdvcpnrkASP.NET Dynamic Data Preview 4 :: Compiler error

Tagged Under : , , , , ,

(Italiano → English) View original
Translators:

ASP.NET Dynamic Data Preview 47sqcqyqw33kfhp3c9jbdopb96wz8mti7

E’ uscita la preview di quello che sarà l’evoluzione della tecnologia dynamic data. Eccellente: controlli più sofisticati, relazioni N a N, possibilità di filtraggi sulle gridview più granulari, e un sacco di altre feature carine ma soprattutto utili.74627qw3uw9iej4qg3y1bf364u8wf8g4

Peccato che importando le DLL nei progetti web in VS capiti che il progetto non compili più, perchè le DLL contenute nella GAC (quelle originali del framework) contengano le stesse definizioni di metodi e classi di questa nuova versione. E il compilatore – giustamente – s’incazza perchè non sa quale versione utilizzare.74fve1pnlgzlmcf0ddduk828bfwl161h


Error    7    Il tipo 'System.ComponentModel.DataAnnotations.MetadataTypeAttribute' esiste sia in 'c:WindowsassemblyGAC_MSILSystem.ComponentModel.DataAnnotations3.5.0.0__31bf3856ad364e35System.ComponentModel.DataAnnotations.dll' che in 'c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�a760a26�007f03e_bcd3c901System.ComponentModel.DataAnnotations.DLL'

Error    1    Il tipo 'System.Web.DynamicData.FilterUserControlBase' esiste sia in 'c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�57b97ce�007f03e_bcd3c901System.Web.DynamicData.DLL' che in 'c:WindowsassemblyGAC_MSILSystem.Web.DynamicData3.5.0.0__31bf3856ad364e35System.Web.DynamicData.dll'

Peccato anche che non ci siano spiegazioni su come far funzionare il tutto (anche se, effettivamente, copiare le dll nel posto giusto non è poi così complicato), e che in questo caso non sia chiaro come proseguire in presenza di questo errore.7hyz1r0ntyqogmdn7vh13pp7abbq416l


tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=99.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/;

La soluzione consiste nel modificare la dichiarazione della libreria dynamicdata nel web.config in modo che la versione utilizzata sia quella di codeplex e non quella ufficiale del framework:9b0x0e6p5aubu177hqvsai5zti6l0gff

e nel sostituire le versioni delle librerie che vogliamo utilizzare da quelle pescate dalla GAC a quelle importate dal nostro progetto.9cmi9coidfle0biwyc4fhwpeo3vrojqu

dll

(original) Visualizza English translation

ASP.NET Dynamic Data Preview 4

E’ uscita la preview di quello che sarà l’evoluzione della tecnologia dynamic data. Eccellente: controlli più sofisticati, relazioni N a N, possibilità di filtraggi sulle gridview più granulari, e un sacco di altre feature carine ma soprattutto utili.

Peccato che importando le DLL nei progetti web in VS capiti che il progetto non compili più, perchè le DLL contenute nella GAC (quelle originali del framework) contengano le stesse definizioni di metodi e classi di questa nuova versione. E il compilatore – giustamente – s’incazza perchè non sa quale versione utilizzare.


Error    7    Il tipo 'System.ComponentModel.DataAnnotations.MetadataTypeAttribute' esiste sia in 'c:WindowsassemblyGAC_MSILSystem.ComponentModel.DataAnnotations3.5.0.0__31bf3856ad364e35System.ComponentModel.DataAnnotations.dll' che in 'c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�a760a26�007f03e_bcd3c901System.ComponentModel.DataAnnotations.DLL'

Error    1    Il tipo 'System.Web.DynamicData.FilterUserControlBase' esiste sia in 'c:UsersCaioAppDataLocalTempTemporary ASP.NET Filesxxxf719f7a77b9814d9assemblydl3�57b97ce�007f03e_bcd3c901System.Web.DynamicData.DLL' che in 'c:WindowsassemblyGAC_MSILSystem.Web.DynamicData3.5.0.0__31bf3856ad364e35System.Web.DynamicData.dll'

Peccato anche che non ci siano spiegazioni su come far funzionare il tutto (anche se, effettivamente, copiare le dll nel posto giusto non è poi così complicato), e che in questo caso non sia chiaro come proseguire in presenza di questo errore.


tagPrefix="asp" namespace="System.Web.DynamicData" assembly="System.Web.DynamicData, Version=99.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/;

La soluzione consiste nel modificare la dichiarazione della libreria dynamicdata nel web.config in modo che la versione utilizzata sia quella di codeplex e non quella ufficiale del framework:

e nel sostituire le versioni delle librerie che vogliamo utilizzare da quelle pescate dalla GAC a quelle importate dal nostro progetto.

dll

Multiple dbml with same tablesb5obnlpthbqypuucbg3io21eus5f17dyMultiple dbml with same tables

Tagged Under : , , , , , , ,

(Italiano → English) View original
Translators:

diagram dbml Probabilmente non è una di quelle operazioni che si compiono quotidianamente, ma pare non ci siano molte informazioni in giro riguardo a come includere diversi modelli dbml, contenenti le stesse tabelle, all’interno di un’unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti.fq6y949261alitmhckgbtunkatesthtv

Poniamo il caso in cui sia necessario utilizzare dei database che contengono per caso 2 tabelle uguali, o in cui comunque ci siano gli stessi nomi di tabella, e includerli in un modello LINQ to SQL per riutilizzarli ad esempio con dynamic data.frfrgf2mxl0opmxr9vv32nlmhe2gffe7

Se ci limitiamo a creare i dbml e ad aggiungervi le tabelle del nostro DB, al primo CTRL + B il compilatore di Visual Studio fallirà riportando tanti errori quante ridefinizioni delle stesse tabelle troverà.frojoqu6n5qqxf8066awbhjonzq40dzk

Per risolvere questo problema è sufficiente aggiungere un Context Namespace ed un Entity Namespace per ogni dbml, in modo che durante la compilazione non ci saranno conflitti nella dichiarazione delle classi (visto che le tabelle sono rappresentate da classi nel dbml).f4uv8tgwd2hts878hck9vclayw3s02em

dbml

Ovviamente sarà necessario scegliere la connessione corretta per gestire il DB relativo al dbml, dichiarata preventivamente nel web.config, e visto che probabilmente vorremo usare il dbml nel progetto, ad esempio con dynamic data, dovremo modificare il global.asax dicendogli di utilizzare il datacontext corretto ed eventualmente registrando le nuove routes.ggner8cdmf7woj61771rgnzkltfzxn2m

Un buon articolo su come fare per registrare diverse routes di diversi dbml è disponibile qui.gh9006v6ukxzvtgqotaeo1kzfe44lqd1

(original) Visualizza English translation

diagram dbml Probabilmente non è una di quelle operazioni che si compiono quotidianamente, ma pare non ci siano molte informazioni in giro riguardo a come includere diversi modelli dbml, contenenti le stesse tabelle, all’interno di un’unico progetto in Visual Studio, per cui ritengo valga la pena scriversi 2 appunti.

Poniamo il caso in cui sia necessario utilizzare dei database che contengono per caso 2 tabelle uguali, o in cui comunque ci siano gli stessi nomi di tabella, e includerli in un modello LINQ to SQL per riutilizzarli ad esempio con dynamic data.

Se ci limitiamo a creare i dbml e ad aggiungervi le tabelle del nostro DB, al primo CTRL + B il compilatore di Visual Studio fallirà riportando tanti errori quante ridefinizioni delle stesse tabelle troverà.

Per risolvere questo problema è sufficiente aggiungere un Context Namespace ed un Entity Namespace per ogni dbml, in modo che durante la compilazione non ci saranno conflitti nella dichiarazione delle classi (visto che le tabelle sono rappresentate da classi nel dbml).

dbml

Ovviamente sarà necessario scegliere la connessione corretta per gestire il DB relativo al dbml, dichiarata preventivamente nel web.config, e visto che probabilmente vorremo usare il dbml nel progetto, ad esempio con dynamic data, dovremo modificare il global.asax dicendogli di utilizzare il datacontext corretto ed eventualmente registrando le nuove routes.

Un buon articolo su come fare per registrare diverse routes di diversi dbml è disponibile qui.

Database diagrams MSSQL

Tagged Under : , ,

(Italiano → English) View original
Translators:

mssq_error

TITLE: Microsoft SQL Server Management Studio Express
——————————k5smmkt8h44f2ld6njojz8nj55dms0qp
jszpskpoj2n90i5awr4j8z1i0nas3808

Database diagram support objects cannot be installed because this database
does not have a valid owner. To continue, first use the Files page of the
Database Properties dialog box or the ALTER AUTHORIZATION statement to set
the database owner to a valid login, then add the database diagram support
objects.
ks9hzvi89mdc8bgkt1jchszk78zgp6ll

——————————k5smmkt8h44f2ld6njojz8nj55dms0qp

Questo post è un promemoria per chi (come me) non si ricorda a memoria come modificare i permessi per la creazione del diagram (molto utile per la visualizzazione del DB nel suo insieme, relazioni incluse) in MSSQL Management studio e ha bisogno di una stringa da utilizzare al volo per farlo.k51ftvmr8oui9dpglu2c82llcq2adyb2

La query giusta da eseguire in questo caso è:kvh2tcryfjmkrn91s7332kc5ey6fuk9w


EXEC sp_dbcmptlevel '$NOMEDB', '90';

ALTER AUTHORIZATION ON DATABASE::$NOMEBD TO "$NOMEMACCHINA\$USERNAME"

ovviamente con le opportune sostituzioni sulle variabili $….cheers :-)kkjxr66u5ucn9fv7f9a1wihdt68380hn

(original) Visualizza English translation

mssq_error

TITLE: Microsoft SQL Server Management Studio Express
——————————

Database diagram support objects cannot be installed because this database
does not have a valid owner. To continue, first use the Files page of the
Database Properties dialog box or the ALTER AUTHORIZATION statement to set
the database owner to a valid login, then add the database diagram support
objects.

——————————

Questo post è un promemoria per chi (come me) non si ricorda a memoria come modificare i permessi per la creazione del diagram (molto utile per la visualizzazione del DB nel suo insieme, relazioni incluse) in MSSQL Management studio e ha bisogno di una stringa da utilizzare al volo per farlo.

La query giusta da eseguire in questo caso è:


EXEC sp_dbcmptlevel '$NOMEDB', '90';

ALTER AUTHORIZATION ON DATABASE::$NOMEBD TO "$NOMEMACCHINA\$USERNAME"

ovviamente con le opportune sostituzioni sulle variabili $….cheers :-)

Basta poco…[Errore interno del compilatore: fase 'BIND' ]

Tagged Under : , ,

(Italiano → English) View original
Translators:

Per motivi apparentemente inspiegabili durante la compilazione di un sito web in aspx Visual studio continua a spararmi errori come questo:ofximn40619vpfs134uq62534mq481df


Errore interno del compilatore: fase 'BIND'

Errore interno del compilatore: fase 'COMPILE'

Internal Compiler Error: stage 'BIND'

dopo parecchio tempo alla ricerca della causa riesco a circoscrivere il problema, e alla fine scopro che il mancato parsing di una variabile di sessione a stringa manda in palla il compilatore che non riesce a completare il suo lavoro.o5d6m396ew1x6ocmahui0kwn6uv9omb9

Basta un pezzo di codice come questo nel page_load di una pagina aspx:outtmkddlss0oyx6huvat3n782zf5793


if (Session["VarToControl"] != "myPersonalValue")
Response.Redirect("/URLRedirect/Page.aspx");

per sollevare il problema, mentre per risolverlo è sufficiente convertire a stringa il valore letto in questo modo:ows7x6mgbgj3uq6aisyrz2uzrmq2xfak


if (Session["VarToControl"].ToString() != "myPersonalValue")
Response.Redirect("/URLRedirect/Page.aspx");

e come per magia tutto riprende a compilare senza problemi..ol8vxnqmjba5bzqvp5yjslljtuu8e08e

(original) Visualizza English translation

Per motivi apparentemente inspiegabili durante la compilazione di un sito web in aspx Visual studio continua a spararmi errori come questo:


Errore interno del compilatore: fase 'BIND'

Errore interno del compilatore: fase 'COMPILE'

Internal Compiler Error: stage 'BIND'

dopo parecchio tempo alla ricerca della causa riesco a circoscrivere il problema, e alla fine scopro che il mancato parsing di una variabile di sessione a stringa manda in palla il compilatore che non riesce a completare il suo lavoro.

Basta un pezzo di codice come questo nel page_load di una pagina aspx:


if (Session["VarToControl"] != "myPersonalValue")
Response.Redirect("/URLRedirect/Page.aspx");

per sollevare il problema, mentre per risolverlo è sufficiente convertire a stringa il valore letto in questo modo:


if (Session["VarToControl"].ToString() != "myPersonalValue")
Response.Redirect("/URLRedirect/Page.aspx");

e come per magia tutto riprende a compilare senza problemi..

Itextsharp horizontal lineqfapbwswm7fp0j3c28xlzrxjzk4vqpviItextsharp horizontal line

Tagged Under : , , ,

(Italiano → English) View original
Translators:

iia1

ItextSharp, ottima libreria per la creazione di pdf.
Peccato che ultimamente mi abbia fatto perdere parecchia pazienza per disegnare il più classico elemento che possa trovare in un documento di testo: una linea orizzontale.
sy3rdko1x27o2kcn8avw2jjlmu2dsidp

La cosa assurda è che nemmeno in rete si trova materiale utile, la documentazione si riferisce ad un oggetto obsoleto non più utilizzabile in c# (l’oggetto Graphic), e il thread della mailing list a cui si viene rimandati dalla documentazione ufficiale, in cui lo sviluppatore padre del progetto interviene, non è molto chiaro ma soprattutto rende tutto molto più complicato del necessario, tirando in ballo celle di tabella che non semplificano il tutto.t8swq3fpoqwr1ff7c7uvs32s9t82fovi

Dopo parecchie ricerche e tentativi ho trovato un modo semplice ed efficace per disegnarla, il tutto si fa in poche righe di codice, basta sapere come farlo: :-)tk8m6vmvgjluy8fmjrgjftup8rir94tf

//crea un document
iTextSharp.text.Document _document = new iTextSharp.text.Document();
//crea un writer
PdfWriter _writer = PdfWriter.GetInstance(_document, new FileStream("C:\file.pdf", FileMode.Create));
//disegna una linea orizzontale
PdfContentByte _cb = _writer.DirectContent;
_cb.MoveTo(_document.Left, (_document.Top - _document.Bottom) - _writer.CurrentDocumentSize);
_cb.LineTo(_document.Right, (_document.Top - _document.Bottom) - _writer.CurrentDocumentSize);
_cb.Stroke();
(original) Visualizza English translation

iia1

ItextSharp, ottima libreria per la creazione di pdf.
Peccato che ultimamente mi abbia fatto perdere parecchia pazienza per disegnare il più classico elemento che possa trovare in un documento di testo: una linea orizzontale.

La cosa assurda è che nemmeno in rete si trova materiale utile, la documentazione si riferisce ad un oggetto obsoleto non più utilizzabile in c# (l’oggetto Graphic), e il thread della mailing list a cui si viene rimandati dalla documentazione ufficiale, in cui lo sviluppatore padre del progetto interviene, non è molto chiaro ma soprattutto rende tutto molto più complicato del necessario, tirando in ballo celle di tabella che non semplificano il tutto.

Dopo parecchie ricerche e tentativi ho trovato un modo semplice ed efficace per disegnarla, il tutto si fa in poche righe di codice, basta sapere come farlo: :-)

//crea un document
iTextSharp.text.Document _document = new iTextSharp.text.Document();
//crea un writer
PdfWriter _writer = PdfWriter.GetInstance(_document, new FileStream("C:\file.pdf", FileMode.Create));
//disegna una linea orizzontale
PdfContentByte _cb = _writer.DirectContent;
_cb.MoveTo(_document.Left, (_document.Top - _document.Bottom) - _writer.CurrentDocumentSize);
_cb.LineTo(_document.Right, (_document.Top - _document.Bottom) - _writer.CurrentDocumentSize);
_cb.Stroke();

SVN & Visual Studio: take it easy!vpq60wtda8ghjltg4e299oylce13f8ehSVN & Visual Studio: take it easy!

Tagged Under : ,

(Italiano → English) View original
Translators:

Da qualche tempo meditavo sull’utilità di iniziare ad usare SVN, perchè la condivisione di progetti software tra più persone può diventare un problema soprattutto quando gli IDE (leggi VS) non ti aiutano, dimenticandosi di uploadare o scaricare parti di progetto dall’FTP condiviso dal Team.8zhyektoh2fkzrdpqpm3abzf0ez5tykn

Perciò, armato del necessario (pc, web, pazienza e un po di tempo) mi sono studiato le diverse soluzioni disponibili per capire quale potesse essere la migliore per un gruppo di sviluppatori che utilizzassero prevalentemente Visual Studio.8wkza1bma92ncnvie41ttn6c71cvw3tl

Ovviamente esistono una marea di articoli che spiegano più o meno bene come utilizzare il tutto, ma li ho trovati in buona parte troppo lunghi o incompleti per la mia soluzione in particolare: per questo ho deciso di scrivermi queste poche righe1 sicuro del fatto che torneranno buone anche ad altri2 e mi aiuteranno a superare le mie simpatiche amnesie..9gcnp3a3lips42ry5cq42bobnez3jcis

Ma..3 torniamo a noi: il metodo più veloce e utile che ho trovato consiste in pochi semplici passaggi. Eccoli:9pyewowyxhcv5hxamb7jx4cgaezbx4ue

  1. Installazione del server SVN sul pc condiviso per i progetti. Ho utilizzato VisualSVN server e mi è sembrato semplice, comodo e veloce. Una volta installato è un gioco da ragazzi creare un repository in una directory dedicata, creare gli utenti per l’accesso al repository ed assegnarli allo stesso. Include già apache con webdav per la consultazione via web e si autoconfigura su https.9nr0vfufps0zhcdwcdaydls2t1g06jih
  2. Installazione del plugin Ankh per Visual Studio, pienamente compatibile anche con VS2008 e – diversamente da quanto ho letto su svariati blog che lo davano come poco stabile o funzionale4 – molto stabile e completo.a90wj2o0zao24p50avbngmrhwca85b4x

Una volta installati i due componenti fondamentali ecco cosa bisogna fare per iniziare ad usarlo.altf2hkg8ne5004t1qr51w6rj9le1wsw

Avete creato il vostro progetto in Visual Studio? Bene. E’ necessario aggiungerlo all’SVN server. Tasto destro sulla soluzione del progetto, “Add Solution to subversion..”. Si apre una finestrella che chiede il nome del progetto, l’url del repository SVN, e la cartella locale con cui sincronizzare il progetto.a8swuetkh939lbtq1ugj13fvyjil6yuh

Qui dentro si può creare una cartella relativa al nuovo progetto che si sta creando, in modo da avere N progetti all’interno di un’unico repository.a8owz2wuq9tcun6lft1hccrlh45rprpr

Fatto questo sarà possibile aggiungere un commento al file di log relativo all’inserimento, che verrà poi visualizzato in futuro quando si andrà a consultare la history. A questo punto i file nel Solution Explorer appariranno con una piccola croce blu accanto ad agnuno, il che significa che è stato creato un nuovo elemento per l’SVN non ancora replicato (committato fa davvero schifo!) sul server.akhfhisbzmjfqy5e5oizxm5u32gxlcdr

Per replicare le modifiche sul server infatti in ogni momento è sufficiente scegliere l’apposito pulsante “Commit solution changes” (o Commit.. e basta sul singolo file) sempre disponibile tra le opzioni sul progetto (tasto dx…).bv7ku0jzrb7ipt9y9lgyo6p2q0mm9ivk

Da qui in avanti il progetto è caricato sul server ed è possibile lavorarci da postazioni diverse con la sicurezza che tutte le modifiche verranno tracciate e sarà sempre possibile tornare alla versione precedente. Per verificare l’avvenuto caricamento dei files senza doversi loggare sulla macchina è sufficiente controllare con il browser allo stesso indirizzo inserito per l’SNV repository.bht8ka3ticwmbnzhqebiprbthbibaf72

A questo punto ci aspettiamo che gli altri sviluppatori che accedano al progetto siano costantemente aggiornati sulle modifiche riportate al progetto; per farlo dovranno aprirlo direttamente dall’SVN in modo da ottenere sempre l’ultima versione disponibile.b4238wxdsukpy0qkowc7ssa8llbj97si

Una volta aperto Visual Studio si può accedere al nuovo sottomenu, presente sotto il menu File, e selezionare la voce “Subversion->Open from subversion”bg8fszj3jsbstspsy2njcncvvio79x7k

Da qui si deve aggiungere l’SVN repository (lo stesso utilizzato precedentemente per il salvataggio del progetto) cliccando sull’apposito palloncino blu in alto nella finestrella, che come atteso chiederà l’autenticazionecg4fynmesr0v241nc27hnwnke4bdrq2u

Fatto questo saremo pronti a lavorare sul progetto effettuando tutte le modifiche desiderate. Per ogni modifica effettuata al progetto infatti i file coivolti saranno marcati in modo diverso (con una croce blu per i nuovi elementi, e con un quadrato rosso per i file modificati), segnalando la discrepanza con il repository fino al momento del commit in cui i cambiamenti saranno replicati sul server.cr7dcs2b10py0g3mza0bc0t4p2iki1ap

E cosa succede se un file viene modificato contemporaneamente da due sviluppatori?crg5j3vvskg189ewwlf3lur6vn783zv2

In questo caso se non ci sono conflitti tra le modifiche, i file vengono mergiati senza problemi; viceversa se le modifiche riguardano parti di codice in comune si viene avvertiti con quello che apparentemente può sembrare un errorec2i3y9bs1t446lgwkt8x9yxq6lefua3x

e le modifiche riportate da entrambe le parti vengono segnalate con opportuni simboli e con il numero di revisione che ha causato il conflitto.dfofjbxirqv71df4u0iatuydhis3uziz

Altre cose utili che si possono fare:dr45z43pjjkay7fi1j5yhjragg1rnfgw

Visualizzare l’history del progetto, in cui vengono segnalati i file modificati nelle diverse revision, e per ogni file è possibile visualizzare cosa è stato modificato (“view solution history”)drdy6fw993ad50rszukqqdpcm1pf9d19

e trovare chi è la causa delle modifiche che hanno fatto esplodere il server su cui era in esecuzione il progetto dopo l’ultima modifica :-) (Sul file, Subversion-> Blame)dr9yc3zji30heb3ncu4o0l115mcms7wj

Questo è quanto, l’SVN è pronto e non rimane che provare a distruggere tutto! :-)dqs5f4ck9ipkn5h36ivsd9qd08wb7v1r

  1. non è vero, il motivo non è solo quello []e3yhz7ya0ggnjyfbho65w4r0b59z7kft
  2. :-) []eqbqtqxnrm5q3r3n14pdvwmidf8nfr7g
  3. Come dice il mio caro collega… []erkj11q7h6vtbkexye364pkkk0wb0qss
  4. Commenti risalenti a svariati mesi fa per cui probabilmente relativi a versioni vecchie []e4qvl4cx74mv6cd58leiolm6vx9z0f7u
(original) Visualizza English translation

Da qualche tempo meditavo sull’utilità di iniziare ad usare SVN, perchè la condivisione di progetti software tra più persone può diventare un problema soprattutto quando gli IDE (leggi VS) non ti aiutano, dimenticandosi di uploadare o scaricare parti di progetto dall’FTP condiviso dal Team.

Perciò, armato del necessario (pc, web, pazienza e un po di tempo) mi sono studiato le diverse soluzioni disponibili per capire quale potesse essere la migliore per un gruppo di sviluppatori che utilizzassero prevalentemente Visual Studio.

Ovviamente esistono una marea di articoli che spiegano più o meno bene come utilizzare il tutto, ma li ho trovati in buona parte troppo lunghi o incompleti per la mia soluzione in particolare: per questo ho deciso di scrivermi queste poche righe1 sicuro del fatto che torneranno buone anche ad altri2 e mi aiuteranno a superare le mie simpatiche amnesie..

Ma..3 torniamo a noi: il metodo più veloce e utile che ho trovato consiste in pochi semplici passaggi. Eccoli:

  1. Installazione del server SVN sul pc condiviso per i progetti. Ho utilizzato VisualSVN server e mi è sembrato semplice, comodo e veloce. Una volta installato è un gioco da ragazzi creare un repository in una directory dedicata, creare gli utenti per l’accesso al repository ed assegnarli allo stesso. Include già apache con webdav per la consultazione via web e si autoconfigura su https.
  2. Installazione del plugin Ankh per Visual Studio, pienamente compatibile anche con VS2008 e – diversamente da quanto ho letto su svariati blog che lo davano come poco stabile o funzionale4 – molto stabile e completo.

Una volta installati i due componenti fondamentali ecco cosa bisogna fare per iniziare ad usarlo.

Avete creato il vostro progetto in Visual Studio? Bene. E’ necessario aggiungerlo all’SVN server. Tasto destro sulla soluzione del progetto, “Add Solution to subversion..”. Si apre una finestrella che chiede il nome del progetto, l’url del repository SVN, e la cartella locale con cui sincronizzare il progetto.

Qui dentro si può creare una cartella relativa al nuovo progetto che si sta creando, in modo da avere N progetti all’interno di un’unico repository.

Fatto questo sarà possibile aggiungere un commento al file di log relativo all’inserimento, che verrà poi visualizzato in futuro quando si andrà a consultare la history. A questo punto i file nel Solution Explorer appariranno con una piccola croce blu accanto ad agnuno, il che significa che è stato creato un nuovo elemento per l’SVN non ancora replicato (committato fa davvero schifo!) sul server.

Per replicare le modifiche sul server infatti in ogni momento è sufficiente scegliere l’apposito pulsante “Commit solution changes” (o Commit.. e basta sul singolo file) sempre disponibile tra le opzioni sul progetto (tasto dx…).

Da qui in avanti il progetto è caricato sul server ed è possibile lavorarci da postazioni diverse con la sicurezza che tutte le modifiche verranno tracciate e sarà sempre possibile tornare alla versione precedente. Per verificare l’avvenuto caricamento dei files senza doversi loggare sulla macchina è sufficiente controllare con il browser allo stesso indirizzo inserito per l’SNV repository.

A questo punto ci aspettiamo che gli altri sviluppatori che accedano al progetto siano costantemente aggiornati sulle modifiche riportate al progetto; per farlo dovranno aprirlo direttamente dall’SVN in modo da ottenere sempre l’ultima versione disponibile.

Una volta aperto Visual Studio si può accedere al nuovo sottomenu, presente sotto il menu File, e selezionare la voce “Subversion->Open from subversion”

Da qui si deve aggiungere l’SVN repository (lo stesso utilizzato precedentemente per il salvataggio del progetto) cliccando sull’apposito palloncino blu in alto nella finestrella, che come atteso chiederà l’autenticazione

Fatto questo saremo pronti a lavorare sul progetto effettuando tutte le modifiche desiderate. Per ogni modifica effettuata al progetto infatti i file coivolti saranno marcati in modo diverso (con una croce blu per i nuovi elementi, e con un quadrato rosso per i file modificati), segnalando la discrepanza con il repository fino al momento del commit in cui i cambiamenti saranno replicati sul server.

E cosa succede se un file viene modificato contemporaneamente da due sviluppatori?

In questo caso se non ci sono conflitti tra le modifiche, i file vengono mergiati senza problemi; viceversa se le modifiche riguardano parti di codice in comune si viene avvertiti con quello che apparentemente può sembrare un errore

e le modifiche riportate da entrambe le parti vengono segnalate con opportuni simboli e con il numero di revisione che ha causato il conflitto.

Altre cose utili che si possono fare:

Visualizzare l’history del progetto, in cui vengono segnalati i file modificati nelle diverse revision, e per ogni file è possibile visualizzare cosa è stato modificato (“view solution history”)

e trovare chi è la causa delle modifiche che hanno fatto esplodere il server su cui era in esecuzione il progetto dopo l’ultima modifica :-) (Sul file, Subversion-> Blame)

Questo è quanto, l’SVN è pronto e non rimane che provare a distruggere tutto! :-)

  1. non è vero, il motivo non è solo quello []
  2. :-) []
  3. Come dice il mio caro collega… []
  4. Commenti risalenti a svariati mesi fa per cui probabilmente relativi a versioni vecchie []
Edit translation
Machine translation (Google):
Caricamento...
Copy to editor
or Annulla