我目前正在研究几个选项来创建一个新的应用程序,该应用程序可以由多个用户在封闭的Intranet中使用浏览器进行访问。为什么你需要webservices从Silverlight访问数据库?
我曾考虑过使用Silverlight的用户友好性和WPF设计,以便将来用户习惯的富客户端非常接近。
该项目(当然)需要访问内部网中的数据库,因此我浏览了互联网以了解如何处理数据访问。我很惊讶地看到,您显然有使用网络服务与数据交互,如this SO post哪些点this tutorial(许多使用Web服务的方法之一)中提到的。
已经在内部网中创建了各种与数据库交互的富客户端,我很惊讶被迫使用Web服务。
确实,我确实了解web服务的优点;它提供的安全性以及通常在软件体系结构中创建良好DAL的所有其他功能。然而,我不明白为什么你不能简单地创建(例如)一个包含Linq to SQL类的库,并使用这个库作为silverlight项目的参考,直接访问数据,就像使用传统富客户端应用程序一样。据我所知,通过这样做,您将访问数据存储在应用程序的连接字符串中,但我看不出为什么它不适用于Silverlight客户端。
UPDATE:
于是,两个问题:
- 我们究竟有通过Web服务来访问数据?
- 如果是这样,为什么它不同于传统的富客户端方法?
- Silverlight 5能让我做这样的事吗?
我不认为有客户端直接访问数据库是非常可取的,你必须在客户端代码中包含数据库凭证,这是一个安全噩梦。另外.net框架中的许多数据访问方法需要安装额外的驱动程序/客户端,这将是另一个痛苦。你用什么框架直接从客户端访问数据库? – 2011-04-22 23:01:34