Como ter o silverlight obtendo seus dados do MySQL

Eu escrevi um pequeno aplicativo de teste de hello world no Silverlight que eu quero hospedar em um servidor Linux / Apache2. Eu quero que os dados sejam provenientes do MySQL (ou algum outro banco de dados compatível com linux) para que eu possa vincular as coisas no banco de dados.

Eu consegui fazê-lo funcionar usando oMySQL 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>

Isso funciona bem se eu der à confiança total publicada do aplicativo ClickOnce (ou pelo menos SocketPermission) eexecutá-lo localmente.

Eu quero que isso seja executado no servidor e eu não posso fazê-lo funcionar, sempre terminando com exceção de permissão (SocketPermission não é permitido).

O banco de dados está hospedado no mesmo servidor que o aplicativo do Silverlight, se isso fizer alguma diferença.

EDITAR Ok, agora eu entendo porque é uma má idéia ter credenciais de banco de dados no aplicativo cliente (obviamente). Como as pessoas fazem isso então? Como você protege o serviço da Web de proxy para que ele transmita os dados de e para o cliente / db de maneira segura? Existem alguns exemplos na web?

Certamente, não posso ser a primeira pessoa que gostaria de usar um banco de dados para alimentar um aplicativo do silverlight?

questionAnswers(6)

yourAnswerToTheQuestion