Как заставить silverlight получать свои данные из MySQL
Я написал небольшое приложение для тестирования Hello World в Silverlight, которое я хочу разместить на сервере Linux / Apache2. Я хочу, чтобы данные поступали из MySQL (или другой совместимой с Linux базы данных), чтобы я мог связываться с данными в базе данных.
Мне удалось заставить его работать с помощьюMySQL, 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>
Это прекрасно работает, если я полностью доверяю опубликованному приложению ClickOnce (или, по крайней мере, SocketPermission) иrun it locally.
Я хочу, чтобы это выполнялось на сервере, и я не могу заставить его работать, всегда заканчивая исключением разрешения (SocketPermission не разрешен).
База данных размещается на том же сервере, что и приложение Silverlight, если это имеет значение.
EDIT Хорошо, теперь я понимаю, почему плохая идея иметь учетные данные БД в клиентском приложении (очевидно). Как люди делают это тогда? Как вы защищаете прокси-веб-службу, чтобы она передавала данные клиенту / базе данных безопасным способом? Есть ли примеры в интернете?
Конечно, я не могу быть первым человеком, который хотел бы использовать базу данных для питания приложения Silverlight?