Darwinner

Web & Windows Development

9 January 2012
by max
1 Comment

Ready to use 301 Redirect with Http Module

Download the binary here.

Just open the web.config and edit the appsetting newSite with your new site. That’s all!

All the requests will be forwarded with “301 Moved Permanently” status code.

Example: Your site is published at http://www.currentsite.com and you want to redirect at http://www.newsite.com

upload the files at http://www.currentsite.com and edit the web.config like:

<appSettings>
<add key="newSite" value="<strong>www.newsite.com</strong>"/>
</appSettings>

All request will be forwarded like:

http://www.currentsite.com

-> http://www.newsite.com

http://www.currentsite.com/helloworld

-> http://www.newsite.com/helloworld

 

 

The site is tested on iis7, framework 4 Integrated pipeline mode (standard configuration in most of cases).

Source Code:

——————————— Web.config

<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="newSite" value="www.google.com"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpModules>
<add type="Redirect.Module" name="Module"  />
</httpModules>
</system.web>
<system.webServer>
<modules>
<add type="Redirect.Module" name="Module" />
</modules>
</system.webServer>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>

——————————— Module.cs

using System;
using System.Web;
using System.Configuration;

namespace Redirect
{
public class Module : IHttpModule
{

public void Dispose()
{
}

public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(Application_BeginRequest);
context.EndRequest += (new EventHandler(Application_EndRequest));
}

private void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication hap = (HttpApplication)source;
HttpContext hc = (HttpContext)hap.Context;
string newSite = ConfigurationManager.AppSettings["newSite"];
string strUrl = newSite + hc.Request.Url.PathAndQuery;
hc.Response.Clear();
hc.Response.Status = "301 Moved Permanently";
hc.Response.Headers.Add("Location", strUrl);
}

private void Application_EndRequest(Object source, EventArgs e)
{

}

}
}

 

13 December 2011
by max
0 comments

Fixing Randoms System.Data.SqlClient.SqlException Timeout

If you are fighting against randoms System.Data.SqlClient.SqlException Timeout and you’re using sql express you can try to disable the Auto Close feature:

Right click on the database -> Properties

Those are a couple of errors I was having:

Excpetion:
Type: System.Data.SqlClient.

SqlException
 Message: Timeout. Il tempo disponibile è scaduto prima del completamento dell’operazione o il server non risponde.
 Stack trace:
  in System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
  in System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
  in System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
  in System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
  in System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
  in System.Data.SqlClient.TdsParserStateObject.ReadByte()
  in System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
  in System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
  in System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)
  in System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
  in System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
  in System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
  in System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
  in System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
  in System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
  in System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
  in System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
  in System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
  in System.Data.SqlClient.SqlConnection.Open()
  in System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)
  in System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe()
  in System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()
  in System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
  in System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression)
  in System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source)
  in SecurDPS.RoleProvider.GetRolesForUser(String username) in xxxxxxxxxxxxx.cs:riga 20
  in System.Web.Security.RolePrincipal.IsInRole(String role)
  in System.Web.Configuration.AuthorizationRule.IsTheUserInAnyRole(StringCollection roles, IPrincipal principal)
  in System.Web.Configuration.AuthorizationRule.IsUserAllowed(IPrincipal user, String verb)
  in System.Web.Configuration.AuthorizationRuleCollection.IsUserAllowed(IPrincipal user, String verb)
  in System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs)
  in System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
  in System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Excpetion:
Type: System.Data.SqlClient.

SqlException
Message: Timeout. Il tempo disponibile è scaduto prima del completamento dell’operazione o il server non risponde.
Stack trace:
in System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
in System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
in System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
in System.Data.SqlClient.SqlConnection.Open()
in System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)
in System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe()
in System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()
in System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
in System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression)
in System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source)
in SecurDPS.RoleProvider.GetRolesForUser(String username) in xxxxxxxxxxxxx.cs:riga 20
in System.Web.Security.RolePrincipal.IsInRole(String role)
in System.Web.Configuration.AuthorizationRule.IsTheUserInAnyRole(StringCollection roles, IPrincipal principal)
in System.Web.Configuration.AuthorizationRule.IsUserAllowed(IPrincipal user, String verb)
in System.Web.Configuration.AuthorizationRuleCollection.IsUserAllowed(IPrincipal user, String verb)
in System.Web.Security.UrlAuthorizationModule.OnEnter(Object source, EventArgs eventArgs)
in System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
in System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
914-×-195)

13 December 2011
by max
71 Comments

WP GPX Maps

Install the plugin, upload your gpx using the admin aand use this shortcode to show the map/graph:

[sgpx gpx="/wp-content/uploads/gpx/yourfile.gpx"]

This should be the result:

wp-gpx-maps screenshot 1

Result with waypoints: wp-gpx-maps screenshot 2

On the admin side you can upload your gpx files, set the maps width/height, change colors and other sutff: wp-gpx-maps screenshot 3 wp-gpx-maps screenshot 4 Gpx reducer:

All GPX files will be shown cleaned up and reduced to less than 300 points. This will improve the page load and avoid heavy javascript objects.

Other:

This plugin uses google maps v3 and google chart v1:

http://code.google.com/intl/en-EN/apis/chart/

http://code.google.com/intl/en-EN/apis/maps/documentation/javascript/

Supports GPX 1.0 and GPX 1.1:

http://www.topografix.com/gpx.asp

Downloads:

http://wordpress.org/extend/plugins/wp-gpx-maps/

Don’t forget to rate 5 stars :-)

http://wordpress.org/extend/plugins/wp-gpx-maps/

If you find bugs, feel free to ask me, and, plase show me the way to reproduce the error!

 

There are too many comments here, so I decided to create a small forum:
http://www.darwinner.it/forums/forum/wp-gpx-maps/

 

23 June 2011
by max
0 comments

Terza mail dopo hacking Sony

Bentornato su PlayStation Store

Questa e-mail ti è stata inviata da Sony Computer Entertainment Europe. Visualizza online.
Playstation Network
Welcome Back
Gentile utente PlayStation Network,
Siamo lieti di annunciarti che l’accesso a PlayStation®Store da PlayStation®3, PSP™ (PlayStation®Portable) e da PC tramite Media Go è stato ripristinato.
Welcome Back Come ringraziamento della pazienza durante il ripristino del servizio, tutti i titolari di un account di PlayStation®Network* aventi diritto possono partecipare al nostro programma Welcome Back** (Bentornato), che comprende:

Una selezione di giochi per PS3™ e PSP™ scaricabili gratuitamente da PlayStation Store.

Qriocity TM
Scopri di più
Qriocity TM
Welcome Back
Inoltre, i membri di Music Unlimited hanno diritto a un periodo aggiuntivo di accesso gratuito a Music Unlimited***. Per maggiori informazioni, visita il sito www.qriocity.com.
Qriocity TM
Welcome Back
Welcome Back, 30-Day Free Membership
30 giorni di accesso gratuito a PlayStation®Plus**** per coloro che non sono membri di PlayStation®Plus*****
Welcome Back
Presto in arrivo su PlayStation®Home: minigioco Go Fish!, Green Ticket per tutti gli utenti, nParty Big Bash Bundle e tanto altro ancora.
Playstation Home
Welcome Back
Playstation Network Welcome Back
Per ulteriori dettagli sul programma Welcome Back (Bentornato) nel tuo Paese, visita eu.playstation.com/welcomeback
Welcome Back
Fraud Protect (protezione dalle frodi)
In aggiunta, gli esperti sulla protezione dell’identità di Affinion International Limited offrono ai titolari di un account di PlayStation Network e di Qriocity™ aventi diritto un anno di sottoscrizione gratuita al servizio Fraud Protect (Protezione dalle frodi). Per ulteriori dettagli sulla protezione dalle frodi e sulle condizioni di partecipazione, visita il sito www.fraudprotect.it. Offerta disponibile per 60 giorni.

Abbiamo apportato significativi miglioramenti relativi al sistema di sicurezza di PSN: per conoscere gli ultimi aggiornamenti, visita eu.playstation.com/psnlatest e il PlayStation.Blog all’indirizzo blog.eu.playstation.com.

Welcome Back
Prima di iniziare a usare nuovamente PlayStation Network…
Con il ripristino di PSN è stata introdotta una misura di sicurezza che richiede l’aggiornamento della password dell’account di PlayStation Network prima che tu possa iniziare a usare nuovamente PSN.

Se possiedi una PlayStation 3, puoi farlo eseguendo l’aggiornamento alla versione 3.61 del software di sistema e accedendo a PlayStation Network dal menu XMB™ (XrossMediaBar). Per ulteriori informazioni, visita eu.playstation.com/ps3psn.

In alternativa, puoi modificare la password visitando la pagina https://store.playstation.com/login.gvm dal tuo PC. Questa operazione dovrebbe richiedere pochi minuti. Se desideri ulteriore assistenza, consulta la guida dettagliata all’indirizzo eu.playstation.com/psppsn.

Cogliamo l’occasione per ringraziarti nuovamente della tua pazienza e del tuo supporto mentre i nostri team in tutto il mondo lavorano per ripristinare il servizio PSN completo.

Il team PlayStation Network

Playstation. Sony. make.believe
Playstation Network eu.playstation.com Playstation Store
*Offerta limitata ai titolari di un account di PlayStation®Network in data 20 aprile 2011.
**I titolari di un account di PlayStation®Network idonei hanno 30 giorni di tempo dal lancio del programma Welcome Back (Bentornato) per fruire dell’offerta.
***Inoltre, se in data 20 aprile 2011 eri un membro di Music Unlimited, riceverai automaticamente 60 giorni di abbonamento gratuiti. Se invece, in data 20 aprile 2011, avevi iniziato il periodo di prova gratuito dell’Abbonamento speciale di Music Unlimited, riceverai automaticamente un’estensione di 30 giorni del periodo di prova. Per maggiori informazioni, visita il sito www.qriocity.com.
****L’accesso gratuito a PlayStation®Plus è disponibile esclusivamente nei Paesi in cui è disponibile PlayStation®Plus.
*****Fino a 70 giorni di accesso gratuito a PlayStation®Plus se eri un membro di PlayStation®Plus in data 20 aprile 2011.

Questa e-mail viene inviata automaticamente. Eventuali messaggi inviati a questo indirizzo non potranno pertanto essere evasi.

©2011 Sony Computer Entertainment Europe.

eu.playstation.com

“, “PlayStation”, “PlayStation Network”, “PlayStation Store”, “PlayStation Home”, “PS3″, “PSP”, “PS2″ and “” are registered trademarks of Sony Computer Entertainment Inc. All titles, content, publisher names, trademarks, artwork, and associated imagery are trademarks and/or copyright material of their respective owners. All rights reserved.

Prezzi, contenuti, promozioni e servizi possono essere modificati o rimossi in qualunque momento. I contenuti potrebbero non essere disponibili in tutti i territori.

I titoli sono classificati in base ai requisiti d’età dell’organizzazione indipendente PEGI. Per saperne di più, visita www.pegi.info. Il sistema di classificazione indica la fascia d’età per la quale il gioco è considerato idoneo.

Se possiedi un account PlayStation®Network, dal tuo account potrai modificare il tuo profilo e le preferenze per le notifiche, incluso l’annullamento della sottoscrizione. Accedi qui. Se non possiedi un account PlayStation®Network e desideri annullare la tua iscrizione, clicca qui per inviarci un’e-mail.

PlayStation®Network, PlayStation®Store e PlayStation®Home sono soggetti a specifici termini di utilizzo e non sono disponibili in tutti i Paesi e in tutte le lingue (eu.playstation.com/terms). È necessaria una connessione Internet a banda larga. I costi di accesso alla connessione a banda larga sono a carico dell’utente. Alcuni contenuti sono a pagamento. Gli utenti devono avere almeno 7 anni e per i minorenni è richiesto il consenso dei genitori.

23 June 2011
by max
0 comments

Seconda mail dopo hacking Sony

Aggiornamento sullo stato del servizio PSN: alcune funzionalità sono state ripristinate

Gentile utente PlayStation®Network,

come saprai, il 20 aprile 2011 PlayStation®Network ha subito un’interruzione a livello mondiale a causa di un attacco cibernetico a uno dei nostri server. Siamo lieti di annunciare che alcuni servizi PlayStation Network sono stati ripristinati. Nei prossimi giorni verranno riattivate ulteriori funzionalità. Controlla con regolarità eu.playstation.com/psnlatest e PlayStation.Blog all’indirizzo blog.eu.playstation.com per seguire gli ultimi sviluppi.

Prima di iniziare a usare nuovamente PlayStation Network…

Con il ripristino di PSN è stata introdotta una misura di sicurezza che richiede l’aggiornamento della password dell’account di PlayStation Network prima che tu possa iniziare a usare nuovamente PSN.

Se possiedi una PlayStation®3, puoi farlo eseguendo l’aggiornamento alla versione 3.61 del software di sistema e accedendo a PlayStation Network dal menu XMB™ (XrossMediaBar). Per ulteriori informazioni, consulta la pagina eu.playstation.com/ps3psn. In alternativa, puoi modificare la password visitando la pagina https://store.playstation.com/login.gvm duo PC. Questa operazione dovrebbe richiedere pochi minuti. Se desideri ulteriore assistenza, consulta la guida dettagliata all’indirizzo eu.playstation.com/psppsn.

Giochi in regalo…

Per ringraziarti della tua pazienza durante l’interruzione di PSN, a breve lanceremo il programma Welcome Back (Bentornato) per tutti gli utenti PSN, che include titoli gratuiti da scaricare e un mese di abbonamento gratuito a PlayStation®Plus (o un mese gratuito per coloro che sono già iscritti). A breve pubblicheremo l’elenco completo delle offerte Welcome Back (Bentornato) nel tuo Paese all’indirizzo eu.playstation.com/welcomeback.

Cogliamo l’occasione per ringraziarti nuovamente della tua pazienza e del tuo supporto mentre i nostri team in tutto il mondo lavorano per ripristinare il servizio PSN completo. Ricorda: per aggiornamenti dell’ultimo minuto, visita eu.playstation.com/psnlatest, PlayStation.Blog alla pagina blog.eu.playstation.com e seguici su twitter.com/PlayStationEU.

Ti aspettiamo presto, online,
Il team PlayStation Network

23 June 2011
by max
0 comments

Prima mail dopo hacking Sony

Aggiornamento del Servizio – Avviso importante per gli utenti registrati al PlayStation Network e ai servizi Qriocity


Stimato Cliente PlayStation Network/Qriocity:

Abbiamo scoperto che tra il 17 e il 19 Aprile 2011, alcune informazioni relative agli account di utenti di servizi PlayStation Network e Qriocity sono state compromesse in relazione a intrusioni illegali e non autorizzate nel nostro sistema. Di conseguenza a quanto riscontrato finora, abbiamo:

1) Temporaneamente disattivato i servizi PlayStation Network e Qriocity;

2) Ingaggiato una competente agenzia esterna per la sicurezza, per condurre una completa ed estesa indagine su quanto accaduto;

3) Tempestivamente preso misure per migliorare la sicurezza e rafforzare l’infrastruttura del nostro network, ricostruendo l’intero sistema per fornire una maggiore protezione dei vostri dati personali.

Apprezziamo la vostra pazienza e buona volontà mentre lavoriamo intensivamente per risolvere questi problemi.

Mentre indaghiamo sui dettagli di questo incidente, riteniamo che un soggetto non autorizzato abbia ottenuto le seguenti informazioni da voi fornite in precedenza: nome, indirizzo (città, stato/provincia, codice postale), nazione, indirizzo email, data di nascita, password, login e online ID di PSN/portatile. Inoltre è possibile che i dati del vostro profilo siano stati rilevati, inclusi la cronologia degli acquisti e l’indirizzo di addebito (città, stato/provincia, codice postale).  Se avete autorizzato un sub-account per un vostro familiare, vi informiamo che gli stessi dati relativi possono essere stati rilevati. Nonostante non ci sia prova che i dati della vostra carta di credito siano stati presi in questa circostanza, non possiamo escludere tale possibilita’. Se avete fornito i dati della vostra carta di credito tramite PlayStation Network o Qriocity,  per sicurezza vi informiamo che il numero della vostra carta di credito (escluso il codice di sicurezza) e la data di scadenza possono essere stati rilevati.

Per la vostra sicurezza, vi invitiamo a essere particolarmente vigili nei confronti di truffe via email, telefono, e posta cartacea che chiedano informazioni personali o dati sensibili. Sony non vi contatterà in nessun modo, incluso via email, chiedendovi il numero di carta di credito, numero di previdenza sociale, o altri simili dati o informazioni che siano personalmente identificabili con voi. Se vi vengono richieste tali informazioni, potete avere la certezza che non si tratta di Sony. Inoltre, se usate gli stessi nome utente e password per il vostro account dei servizi PlayStation Network o Qriocity e per altri servizi o account a essi non collegati, vi invitiamo fortemente a modificarli.  Quando i servizi PlayStation Network e Qriocity saranno nuovamente operativi del tutto, vi raccomandiamo inoltre ad accedervi per modificare le vostre password.

Per proteggervi contro possibili furti di dati personali o danni finanziari, vi incoraggiamo a rimanere vigili per controllare lo stato dei vostri account e monitorare i movimenti del vostro credito.

Vi ringraziamo della vostra pazienza mentre completiamo le indagini su questo incidente, e ci dispiace per ogni inconveniente causato. I nostri team stanno lavorando senza sosta a questo proposito, e ogni servizio tornerà disponibile il più presto possibile. Sony tratta la protezione delle informazioni molto seriamente e continuerà a lavorare per garantire che ulteriori misure vengano prese al fine di proteggere informazioni relative all’identificazione personale. Fornire servizi di intrattenimento di qualità e nella sicurezza dei nostri clienti è la nostra massima priorità. Siete pregati di contattarci presso it.playstation.com/psnoutage in caso abbiate ulteriori domande.

Cordialmente,
Sony Network Entertainment and Sony Computer Entertainment Teams

Sony Network Entertainment Europe Ltd (precedentemente conosciuta come PlayStation Network Europe Ltd) è una subsidiaria di Sony Computer Entertainment Ltd, controller dati per le informazioni personali di PlayStation Network/Qriocity

wpgpx

20 June 2011
by max
0 comments

WP Silverlight GPX ver 0.1

New plugin at: http://www.darwinner.it/wordpress-plugin/wp-gpx-maps/wp-gpx-maps/

WP Silverlight GPX shows your trak in the map with altitude graph from a gpx file.

You can also move the mouse over the altitude graph and check the position in the map.

 

Installation:

Install the plugin as usual and set your Bing Maps Apy Key in the settings.

 

Usage:

Upload your gpx file and then add the shortcode in the articles [sgpx gpx="<relative path to file.gpx>"]:

[sgpx gpx="/wp-content/gpx/somefile.gpx"]


See in action:

http://www.pedemontanadelgrappa.it/mappe/attraversata-del-grappa-da-s-liberale-ad-alano-di-piave/

 

Download

wp-silverlight-gpx.zip

 

Other

In order to save bandwidth and speed up the map loading time, the original GPX file is reduced server side and then sent to the application.

You need a Bing Maps Api Key, you can generate here: http://www.bing.com/toolbox/bingdeveloper/

This plugin uses Microsoft Silverlight 4 and Bing Maps Silverlight Control.

 

If you find a bug or if you have a request, feel free to contact me..