Cómo hacer que Silverlight obtenga sus datos de MySQL

He escrito una pequeña aplicación de prueba hello world en Silverlight que quiero alojar en un servidor Linux / Apache2. Quiero que los datos provengan de MySQL (o alguna otra base de datos compatible con Linux) para poder vincular los datos de la base de datos.

Me las arreglé para hacerlo funcionar usando elMySQL Connector / .NET:

<code>MySqlConnection conn = new MySqlConnection("Server=the.server.com;Database=theDb;User=myUser;Password=myPassword;");
conn.Open();
MySqlCommand command = new MySqlCommand("SELECT * FROM test;", conn);
using (MySqlDataReader reader = command.ExecuteReader())
{
     StringBuilder sb = new StringBuilder();
     while (reader.Read())
     {
         sb.AppendLine(reader.GetString("myColumn"));
     }
     this.txtResults.Text = sb.ToString();
}
</code>

Esto funciona bien si le doy plena confianza a la aplicación ClickOnce publicada (o al menos a SocketPermission) yejecutarlo localmente.

Quiero que esto se ejecute en el servidor y no puedo hacer que funcione, siempre terminando con una excepción de permiso (SocketPermission no está permitido).

La base de datos está alojada en el mismo servidor que la aplicación de Silverlight si eso marca alguna diferencia.

EDITAR Ok, ahora entiendo por qué es una mala idea tener credenciales de db en la aplicación cliente (obviamente). ¿Cómo hace la gente esto? ¿Cómo asegura el servicio web proxy para que transmita datos hacia y desde el cliente / db de manera segura? ¿Hay algún ejemplo por ahí en la web?

Seguramente, ¿no puedo ser la primera persona que quisiera usar una base de datos para alimentar una aplicación de Silverlight?

Respuestas a la pregunta(6)

Su respuesta a la pregunta