martedì 26 ottobre 2010

DotNet - CollectionChanged (Workaround)

C# 4.0

Una proprietà di tipo ObservableCollection<T> ( Plus) di un oggetto (Item) per notificare l’aggiunta, la cancellazione o l’aggiornamento di un elemento deve agganciare l’evento “CollectionChanged”, quindi:

_currentItem.Plus.CollectionChanged += CurrentPlusPropertyChanged;

private void CurrentPlusPropertyChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
              
        }

Si è visto però che per quanto riguarda l’aggiornamento questo evento non scatta e ad oggi non c’è una spiegazione ufficiale su questa anomalia. Bisogna quindi adottare questo workaround: agganciare l’evento PropertyChanged di ogni singolo elemento delle collection;

foreach (Plu plu in _currentItemProduct.Plus)
                    {
                        plu.PropertyChanged += CurrentPluPropertyChanged;
                    }

private void CurrentPluPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
             
        }

venerdì 8 ottobre 2010

IIS 6.0 - Page not found (404)

Problema
In una macchina con Windows Server 2003 e IIS 6.0 è stato installato il framework .NET 4.0. A questo punto è stato installato un servizio WCF realizzato con VS2010 (framework 4.0) ma richiamando la pagina Service.svc si aveva sempre l’errore 404 (Page not found).

Soluzione  
Aprire la console di amministrazione di IIS 6.0 e verificare che nelle “Estensioni servizio Web”, ASP.NET 4.0 sia impostato su “Consenti”.