moleskine di un programmatore

Appunti di viaggio tra bit e byte

June 2008 - Posts

Foto Sesto Workshop

Tanto per provare il framework MVC ho buttato giù una mini applicazione (quick and dirty) per pubblicare le foto del workshop di venerdì scorso.

Le foto le trovate qui, appena posso pubblico anche il codice sorgente.

W i Service Pack

Va bene che è una beta, ma è la prima volta che un service pack mi chiede nel setup di chiudere se stesso per installarsi :D

SP1 Error

Olivetti Prodest PC 128 S - Materiale pubblicitario

Mi brillano gli occhi..... quasi non ci credo.... Sarà finito da qualche parte in cantina o in soffitta ma è sempre nel mio cuore. Il "primo" pc tutto mio.... (dopo aver scroccato C64, Spectravideo, Amiga, Z80) :D

Rullo di tamburi:

SPECIFICHE TECNICHE
Hardware
Processore 65SC12 A 2 MHz
Ram Utente 128 KB
Rom 64 KB espandibili fino a 128 KB
Tastiera Qwerty 64 Tasti con sezione alfanumerica 10 funzioni e pad numerico
Monitor Modi grafici - 640 x 256 B/W, 320 x 256 4 colori Floppy Disk 3.5" doppia faccia / doppia densità capacità: 640 Kbyte
Joystick/Mouse Compatibile
Interfacce parallela tipo centronics/seriale RS232 opzionale - videocomposito - RGB/TTL
Opzioni Secondo Drive da 3.5"

Olivetti Prodest PC 128 S - Materiale pubblicitario

Sql - Convertire un float in Euro (stringa)

Non ho trovato niente a riguardo (sicuramente esiste) quindi ho implementato questa piccola function che permette di convertire un valore float nella corrispondente rappresentazione monetaria letterale (Euro).

IF  EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'[dbo].[PrxmKIFormatEuro]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[PrxmKIFormatEuro]
go

create function PrxmKIFormatEuro(@value float)
returns varchar(30)
as
begin
    return replace(replace(replace(convert(varchar(30), convert(money,@value), 1),',','|'), '.', ','), '|','.') + ' €'
end
go

per usarla basta chiamarla nel seguente modo (ricordarsi di lasciare il dbo.)
select dbo.PrxmKIFormatEuro (1000.1)

Posted: Jun 18 2008, 01:45 PM by andrea.balducci | with no comments
Filed under: ,
Ricomincio da 3...

Stavo testando la beta 3 di ASP.Net MVC con Spring Framework e NHibernate. Alla prima richiesta processata da IIS è uscito un errore generico ("Server Application Unavailable") che rimanda all'event viewer.

L'event viewer mostra:

  1. Event Type:    Error
    Event Source:    ASP.NET 2.0.50727.0
    Event ID:    1000
    Description:
    aspnet_wp.exe  (PID: 1328) stopped unexpectedly.
  2. Event Type:    Error
    Event Source:    ASP.NET 2.0.50727.0
    Event ID:    1089
    Description:
    Failed to execute the request because the ASP.NET process identity does not have read permissions to the global assembly cache. Error: 0x80070005 Access is denied. 
  3. Event Type:    Error
    Event Source:    ASP.NET 2.0.50727.0
    Event ID:    1334
    Description:
    Failed to initialize the AppDomain:/LM/W3SVC/1/Root/nw
    Exception: System.IO.FileLoadException
    Message: Could not load file or assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied.
    StackTrace:    at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
       at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
       at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       at System.Activator.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
       at System.Activator.CreateInstance(String assemblyName, String typeName)
       at System.AppDomain.CreateInstance(String assemblyName, String typeName)
       at System.AppDomain.CreateInstance(String assemblyName, String typeName)
       at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
       at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)

Provo con l'ASP.Net Development Server direttamente da VS 2008 e funziona tutto ok....

Scatta la ricerca su google, escono tonellate di pagine che spiegano come cambiare i permessi alla GAC, reinstallare VS e IIS nell'ordine corretto e via di seguito (ho letto veramente di tutto!!!).

Tra le decine di soluzioni "strambe" (e lunghissime) appare un commento semplice semplice che recita "You need to give the account ASPNET read access to the web site's application directory."

Tana: scoppattando lo zip con i sorgenti non ho l'ACL con i permessi corretti. Aggiunto ASP.Net tra gli utenti abilitati e anche la virtual folder su IIS va.

Morale
Quando si cerca di identificare un problema bisogna sempre risalire al primo errore, tutti gli altri scaturiti in cascata sono solo fuorvianti. La maggior parte dei post che  ho trovato focalizzavano l'attenzione sul permettere all'utente ASP.Net di accedere alla GAC, dando per scontato l'esistenza dell'application domain. Nel mio caso l'assenza dei permessi sulla root del progetto web impediva la creazione di un application domain, quindi non esistevano credenziali valide per accedere alla GAC.

Usando "Asp.Net Development Server" tutto gira con le credenziali dell'utente corrente quindi tutto fila liscio...

Spero possa esservi di aiuto.

Spread Firefox | Download Day 2008

Registratevi in massa, cerchiamo almeno di battere la Francia a livello di iscrizioni!!!

Spread Firefox | Download Day 2008