我在Silverlight中编写了一个小型的hello world测试应用程序,我想在Linux / Apache2服务器上托管.我希望数据来自MySQL(或其他一些兼容Linux的数据库),以便我可以数据绑定到数据库中的内容.
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();
}
如果我给已发布的ClickOnce应用程序完全信任(或至少是SocketPermission)并在本地运行它,这可以正常工作.
我希望这在服务器上运行,我无法让它工作,总是以权限异常结束(不允许SocketPermission).
数据库与Silverlight应用程序托管在同一服务器上,如果这有任何区别的话.
编辑
好的,我现在明白为什么在客户端应用程序中显示数据库凭据是一个坏主意(显然).人们如何做到这一点呢?如何保护代理Web服务,以便以安全的方式将数据传入和传出客户端/数据库?网上有没有任何例子?
当然,我不能成为第一个使用数据库为Silverlight应用程序提供支持的人?