SRK*_*RKX 3 .net silverlight web-services data-access-layer
我目前正在研究创建新应用程序的几个选项,可以通过封闭内联网中的多个用户使用浏览器进行访问.
我考虑过将Silverlight用于其用户友好性和WPF设计,以便与未来用户习惯的富客户端保持一致.
该项目(当然)也需要访问内部网内的数据库,因此我浏览了互联网以了解如何处理数据访问.我很惊讶地看到,你显然必须使用Web服务与数据交互,如提及本SO后指向本教程(的许多方法来使用WebServices的一个).
已经在Intranet中创建了所有与数据库交互的富客户端,我很惊讶被迫使用Web服务.
的确,我确实了解网络服务的优势; 它提供的安全性,以及通常在软件架构中创建良好DAL的所有其他功能.但是,我不明白为什么你不能简单地创建(例如)包含Linq to SQL类的库,并使用这个库作为silverlight项目中的参考来直接访问数据,就像使用经典富客户端应用程序一样.我知道通过这样做,您将访问数据存储在应用程序的连接字符串中,但我不明白为什么它不适用于Silverlight客户端.
更新:
那么,有两个问题:
Ree*_*sey 10
但是,我不明白为什么你不能简单地创建(例如)包含Linq to SQL类的库,并使用这个库作为silverlight项目中的参考来直接访问数据,就像使用经典富客户端应用程序一样.
与WPF不同,Silverlight不使用或无法访问完整的.NET Framework.它在它自己的,受限制的CLR和框架下运行.
在决定包含什么和省略什么时,决定将所有数据访问组件都排除在Silverlight之外.这实际上使得无法直接创建如上所述的"使用SQL的库".
通过使用WebServices(或WCF,这是首选方法),您只需要能够创建和访问Silverlight支持的服务引用.