代码改变世界

随笔分类 -  Silverlight&WCF

查询建模构建一体化开发平台(一) 概览

2010-07-15 11:57 by Amar-Yao, 2365 阅读, 收藏, 编辑
摘要: 今天特别难受,写不下去代码。所以再来谈谈关于查询建模的内容。本系列一改上一个系列的风格,只谈架构及想法不谈具体技术实现。 希望有经验的博友前来拍砖。 上一个系列讲述了Silverlight实现查询建模的具体技术细节。架构及想法没有涉及。主要是考虑到产品还在脑子里没有付诸于实现。现在产品已经在公司立项,基本的设计及定位已经出炉。可以看做是宣传和取经。 谈到模型大家各有各的理解。模型驱动的架构(MDA... 阅读全文

Silverlight轻量级取数方案(带源码)

2009-12-06 01:02 by Amar-Yao, 2538 阅读, 收藏, 编辑
摘要: 最近一直在做Flash交互相关的东西。主要思想就是在Flash声明的<param>中放入取数的URL,Flash控件中自己去请求这个URL。然后我们C#代码只需在这个URL指定的页面Response.Write拼好的数据XML字符串就行了。 其实这样干净利索的取数方案一样也适合在Silverlight中使用。这种方法可以避开使用笨重的WCF服务,但其能够处理的问题范围较窄所以我把它称为... 阅读全文

SL4 & VS2010初体验

2009-11-28 17:52 by Amar-Yao, 3802 阅读, 收藏, 编辑
摘要: 自从发布上一个SL系列已经有1个多月的时间了。一直感觉自己离SL越来越远了,所以今天趁着SL4 Beta的发布特来与时俱进一下。 刚安装了VS2010 Beta2。感觉.Net Framework 4.0里的东西可真不少。例如Sync Framework,Asp.net MVC 2等等。但毕竟是Beta版,估计等到正式版会拿掉不完善的东西。VS2010安装时间不长,但其中有一次重启。 我是把VS2... 阅读全文

Silverlight实现查询建模(十) 与Silverlight流程设计器集成

2009-09-22 21:37 by Amar-Yao, 2567 阅读, 收藏, 编辑
摘要: 这部分应该是目前XCenter中的最吸引人的地方。首先要感谢chegan的贡献。这里我算站在巨人的肩膀上了, 先看一下效果图: 开始阶段其实我根本没有想用什么流程设计器来实现。只是随着逐渐贴近核心业务逻辑,感觉作为编辑器和设计器,过于复杂的操作界面会使开发人员和用户都感觉到无所适从甚至抓狂。本着简化UI的目的我简单看了一下chegan的Silverlight流程设计器。这个设计器本身是个很通用的... 阅读全文

Silverlight传递DataTable终极解决方案

2009-09-20 15:40 by Amar-Yao, 5623 阅读, 收藏, 编辑
摘要: 目前实体类是我们采用的Silverlight与WCF传递数据的首选方法。但这种方法相对比较死,只能适用于业务逻辑比较简单的应用程序。对于那些在运行时才能知道具体数据的应用并不适合。相比之下传统的Aod.Net DataSet,DataTable具有很大的灵活性。但无奈在Silverlight端不被支持。 网上已经有很多种通过特殊处理来变相实现Silverlight传递DataTable(DataS... 阅读全文

Silverlight实现查询建模(九) 主页面布局

2009-09-16 23:30 by Amar-Yao, 2854 阅读, 收藏, 编辑
摘要: 这个系列的话题似乎越来越简单了。不过没关系我们怎么简单怎么来,生活就应该是这样。 说到页面布局在asp.net中我们已经尝试过很多种了。但最经典的还是类似左树右表的结构。今天我们就来说说XCenter主页面的结构。先看下面的截图, 工具栏在前几节已经说过了。下面说左树右表结构,这个结构得益于EasySL的UI框架这里再次谢过。XCenter项目中XCenter.UI.Page就是这个主界面的实现。... 阅读全文

Silverlight实现查询建模(八) 传递DataTable解决方案

2009-09-12 22:05 by Amar-Yao, 2279 阅读, 收藏, 编辑
摘要: 我们都知道Silverlight端不能直接使用DataTable,DataSet等数据存储。但某些情况下实体类的传递方式根本无法满足我们的需求。举个例子,在进行查询建模时我们根本不知道用户从哪张表选择字段,更有甚者我们还可能不知道用户从哪个数据源选择表(这个问题我通过SmartDAL的特性加以支持)。这种情况下我们无法建立实体类定义。这也是我使用C#,Java这些静态语言感觉最不爽的地方。动态语言... 阅读全文

Silverlight实现查询建模 系列索引

2009-09-12 02:00 by Amar-Yao, 661 阅读, 收藏, 编辑
摘要: 源代码下载 Silverlight实现查询建模(编外) 源代码及运行方法 Silverlight实现查询建模(一) 总揽 Silverlight实现查询建模(二) 项目层次划分 Silverlight实现查询建模(三) XAP包的动态下载 Silverlight实现查询建模(四) 更新XAP包 Silverlight实现查询建模(五) 用户登录 Silverlight实现查询建模(六) 带动画场景... 阅读全文

Silverlight实现查询建模(七) 工具栏的实现与加载

2009-09-10 20:05 by Amar-Yao, 2104 阅读, 收藏, 编辑
摘要: 工具栏在企业应用系统中是比较常见的导航工具。XCenter中的工具栏写的并不精彩,这里只是抛砖引玉。欢迎大家有更好的解决方案时与我讨论。 XCenter中的工具栏又两个位于XCenter.Framework.Client.Controls命名空间中的UserControl实现:ToolBar.xaml,ToolbarButton.xaml。ToolbarButton是工具栏上的按钮,ToolBar... 阅读全文

Silverlight实现查询建模(编外) 源代码及运行方法

2009-09-09 21:41 by Amar-Yao, 2342 阅读, 收藏, 编辑
摘要: 源代码在这里下载(http://f87wjg.bay.livefilestore.com/y1pWtO60CGGGdZ2MjZDGGbtbPM8qkrzF6SvFnMH8TpPoltN5NF6x8Ut5V2acc9nL5Dknfs_FdPX6ZCqVgRaJ43eTw/XCenter.rar?download),下载后在Sql Server2005中恢复数据库。然后打开VS2008编译,注意由于生... 阅读全文

Silverlight实现查询建模(六) 带动画场景跳转

2009-09-09 20:32 by Amar-Yao, 2363 阅读, 收藏, 编辑
摘要: 场景跳转也就是页面切换。在Silverlight中为页面跳转加入自定义动画是件非常简单的事。在动画方面可以说没有你做不到的只有你想不到的。XCenter中内置了3中动画行为。下面是点击了登陆按钮后的渐变动画效果。 看效果不如看代码:) Framework中的WindowHelper类封装了一系列的带动画跳转方法: [代码] 其中传递的参数TransitionBase定义在Framework.Cl... 阅读全文

Silverlight实现查询建模(五) 用户登录

2009-09-04 19:28 by Amar-Yao, 2752 阅读, 收藏, 编辑
摘要: 在群里经常有人问基于SL的用户登录怎么实现,下面我以XCenter的用户登录为例。本篇文章主要针对初级选手。 先看看登录界面。这里要再一次感谢EasySL的作者,他不只给我们提供了一个类似EXT的美观的界面,而且给我们了一个很有参考价值的UI框架。 帐套和公司这里就不说了,都是WCF后台取数据绑定DropDownList。SL是纯客户端技术因此没有类似Asp.Net的Session的东西。但我们... 阅读全文

Silverlight实现查询建模(四) 更新XAP包

2009-09-04 17:52 by Amar-Yao, 1816 阅读, 收藏, 编辑
摘要: 上一集说道XAP包的动态下载。有的朋友已经意识到了,既然我们自己管理XAP包。那势必要有一种XAP包的更新策略。以此保持客户端的模块代码为最新。说到自动更新这个问题其实可以做得很复杂也可以做得很简单。由于目前我的项目里并没有实现这部分功能(Debug阶段还是强制每次都下载最新的XAP),所以只是和大家讨论一下主要的思想,欢迎拍砖。 说到自动更新大家可能都想到自己的杀毒软件的自动更新功能。是的这些软... 阅读全文

Silverlight实现查询建模(三) XAP包的动态下载

2009-09-03 22:02 by Amar-Yao, 3277 阅读, 收藏, 编辑
摘要: 上一集说项目分层时提到了XAP包的动态下载。本篇文章主要讲述这个主题。 1.打包XAP上集说到除了Framework层剩下的业务模块层的Client和Public.SL项目都要在编译时打包成单独的XAP放在ClientBin下以备下载。这个操作通过脚本来完成。右键点击Web项目(XCenter.Web)属性。在生成事件页签我们加上以下脚本:[代码] 上面的脚本都很简单,主要目的就是把要进行打包的D... 阅读全文

Silverlight实现查询建模(二) 项目层次划分

2009-09-03 20:21 by Amar-Yao, 2171 阅读, 收藏, 编辑
摘要: 对于项目的层次划分。大家各有各的见解和想法这里不想多说了。Silverlight是纯客户端技术,通过WCF与后台通信。这样自然而然的给我们划分出了层次:SL项目和其托管环境的Web项目为Client层,WCF和后端的实现代码为Server层。 但实际项目中要根据项目的规模、组织形式等因素更进一步考虑。使项目的数目和功能的划分达到一个平衡点。既要考虑业务逻辑的开发难度又要考虑项目(组件)之间的耦合程... 阅读全文

Silverlight实现查询建模(一) 总揽

2009-09-03 18:53 by Amar-Yao, 2549 阅读, 收藏, 编辑
摘要: 说到查询,大家应该都不陌生。每个业务系统中都有类似的功能。主要就是根据不同条件筛选出不同数据展示给用户。这样的功能应该能占到应用系统的50%左右的比重。如果要是能把这些查询功能加以抽象并以插件的形式提供给业务子系统使用。在开发各个业务子系统时就节省了我们很多的时间和精力。本系列文章运用Silverlight技术逐步的实现这样一个系统。目的是找出Silverlight在企业级开发领域的优势和不足。同... 阅读全文

Silverlight3鱼眼控件

2009-07-24 18:13 by Amar-Yao, 3218 阅读, 收藏, 编辑
摘要: 项目里正好要用这个功能,便利用资源开发了一个。核心算法来自http://www.shinedraw.com/animation-effect/flash-and-silverlight-fish-eye-menu这里先谢过这位高人的贡献。上面那个控件只是一个效果展示控件,并不能实际用在项目里。我的封装主要体现在以下几点:1.为控件增加属性,便于在xaml中直接指定2.支持类似数据绑定的功能,可以随... 阅读全文

Silverlight,WCF传递DataTable解决方案

2009-05-30 19:55 by Amar-Yao, 6192 阅读, 收藏, 编辑
摘要: Silverlight与WCF(WebService)交互多以实体类的形式进行数据传递。但对于报表平台这样的形式不可取,因为你不能预知客户在设计报表时选中了哪个数据库的哪些表的哪些字段。因此传统.Net中的DataTable是一种很好的解决方案。下面讨论笔者的一种解决方案。欢迎各位拍砖。整个解决方案的思想就是将DataTable分为元数据(MetaData)、数据(Data)两部分进行传递。Met... 阅读全文

控制台程序托管WCF服务跨域访问问题解决

2009-05-20 01:36 by Amar-Yao, 3393 阅读, 收藏, 编辑
摘要: 目前大家大多以IIS的托管方式承载WCF服务。对于小型应用这种形式确实提供了便利。但对于大中型应用控制台及Windows服务形式托管WCF服务是不二的选择,因为往往在启动宿主进程时要进行大量的底层服务的初始化。 控制台应用程序作为宿主时一样有跨域访问的问题。最典型的错误就是在开发环境或部署环境下报以下错误: Unhandled Error in Silverlight 2 Application ... 阅读全文

Silverlight开发小技巧之三:巧用VS生成事件打包XAP

2009-05-10 22:35 by Amar-Yao, 2742 阅读, 收藏, 编辑
摘要: 在中大型Silverlight应用中我们会考虑把产品启动必要的DLL打包进XAP放在网站的ClientBin下。这部分包其实是由浏览器管理的。我们可能会将不同模块的DLL打包到另一个XAP包并在应用启动时动态下载并装载到AppDomian。 这样在开发阶段就会有一个问题,我们需要手工把这些其他模块的DLL进行打包。很不方便。 此时我们可以使用VS的生成事件并配合Chiron.exe这个工具进行自动... 阅读全文