之前有文章介绍了aspx向silverlight传值的问题http://www.cnblogs.com/lensso/archive/2010/07/27/1785844.html本文介绍silverlight向aspx传值的方法。1.通过silverlight调用aspx前台js函数的方法可以实现将silverlight中的值传给前台,实现对前台控件的赋值: ScriptObject SetMaterial = HtmlPage.Window.GetProperty("JS函数名") as ScriptObject; SetMaterial.Inv... Read More
posted @ 2011-12-03 11:59 LARSON _ Views(762) Comments(0) Diggs(0) Edit
1.协议不支持重载,协议方法如果方法名一样,即使方法的参数不相同,也会使服务打不开[同一个协定中不能存在两个名称相同的操作,类型为 eTank.DXOil.Contract.IDXOilUC 的方法 InsertData 和 InsertData 违反了此规则。可以通过更改方法名称或使用 OperationContractAttribute 的 Name 属性更改其中一个操作的名称。]。 Read More
posted @ 2011-12-01 11:03 LARSON _ Views(213) Comments(0) Diggs(0) Edit
我做了一个WCF服务部署在服务器上,映射到外网,外网客户端引用服务时,元数据地址的主机名总是服务器的计算机名,由于客户端在服务器的外网,所以客户端是无法识别服务器的计算机名的。如我的发布的服务地址是:http://外网地址:端口号/服务名.svc。元数据地址会自动解析为:http://计算机名:端口号/服务名.svc?wsdl【具体原因还不知道,如果有人知道的话麻烦留言指教】。我试过修改IIS设置,但仍无效【如果有牛人知道是由于IIS配置的问题,也请留言教我怎么配】。解决办法为在客户端添加服务器计算机名的映射,具体操作如下:找到C:\Windows\System32\drivers\etc\h Read More
posted @ 2011-08-01 17:22 LARSON _ Views(847) Comments(0) Diggs(0) Edit
我的实际情况是:我用SQLSERVER2008附加了05的库,后来在部署时发现数据库无法还原到服务器上的SQLSERVER2005,我用了如下两个步骤实现了数据库的降级【其实也就是数据库表结构,视图,存储过程以及数据的拷贝】。要实现数据库的降级你必须具备以下条件:1)本机的SQLSERVER不是EXPRESS版本,因为EXPRESS版本的SQLSERVER不支持数据的导入导出。2)服务器与本机在同一局域网,方便数据导出。当然,也可以先在本机装一个低版本的SQLSERVER,实现数据库的降级后,用低版本库还原到服务器上去。言归正传,以下是具体操作:1)右键需要阶级的数据库,生成脚本,将生成的脚本 Read More
posted @ 2011-08-01 15:01 LARSON _ Views(608) Comments(0) Diggs(0) Edit
项目结构如下图:Service工程调用两个Datamodel.sql中的方法,两个Datamodel.sql中的方法分别使用了3.1.0.0版本的xxx.dll,Service工程中总是调用某一Datamodel.sql中的方法正常,别一个报错:未能加载xxx.dll...按常理两个dll的版本号相同不应该存在版本的问题,但实际的问题却就是版本号冲突。根据http://www.cnblogs.com/OpenCoder/archive/2010/07/29/1788297.html#2131119中的说法,service工程引用两个工程后,它们bin目录下的dll只要在Datamodel.sq Read More
posted @ 2011-06-23 12:15 LARSON _ Views(339) Comments(0) Diggs(0) Edit
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页生命周期非常重要,因为这样做您就能在生命周期的合适阶段编写代码,以达到预期效果。此外,如果您要开发自定义控件,就必须熟悉页生命周期,以便正确进行控件初始化,使用视图状态数据填充控件属性以及运行任何控件行为代码。(控件的生命周期基于页的生命周期,但是页引发的控件事件比单独的 ASP.NET 页中可用的事件多。)常规页生命周期阶段一般来说,页要经历下表概述的各个阶段。除了页生命周期阶段以外,在请求前后还存在应用程序阶段,但是这些 Read More
posted @ 2011-06-15 11:13 LARSON _ Views(168) Comments(0) Diggs(0) Edit
作为登陆页面,页面打开时焦点停在用户名的文本框,以及回车键可登陆是比较方便的,但是silverlight默认却没有在页面打开时将焦点设在指定的文本框,也不支持默认按钮。这需要我们作一点工作。1.自动设置焦点开始我尝试过将tabindex设为0,当前页设置焦点[this.Focus()],指定控件设置焦点[this.TextBox1.Focus()],都无法实现在页面打开时将焦点停在指定的控件上。其实我是忘了一件事,silverlight程序是作为一个插件嵌入在aspx页面中,所谓的页面打开是aspx的页面打开,此时的焦点是停在aspx页面上,而不是silverlight插件上,所以无论你在si Read More
posted @ 2011-05-25 19:38 LARSON _ Views(1901) Comments(0) Diggs(2) Edit
silverlight上传附件是许多系统需要的功能,但是silverlight暂时还存在着安全限制,作为浏览器的插件,它是不能直接访问客户端本地的文件的,即使网上有说用OpenFileDialog可以实现访问本地文件,但经过我测试是行不通,总是会有限制访问的错误报出来。于是换个思维,使用asp.net的FileUpload控件实现文件的上传,再将上传的文件的文件名传回silverlight做相关的处理。这个方法的大概思想是:1.silveright页面按钮调用承载页的js代码打开一个用于上传的aspx页面,文件的上传都是在这个页面中完成。2.文件上传完成以后,上传页将上传的文件的文件名传回承载 Read More
posted @ 2011-05-25 19:21 LARSON _ Views(827) Comments(9) Diggs(1) Edit
当客户端为silverlight或者其它不默认支持跨域的技术时,需要为wcf手动开启跨域,详细方法如下:首先跨域文件是必须的ClientAccessPolicy.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <access-policy> 3 <cross-domain-access> 4 <policy> 5 <allow-from http-request-headers="*"> 6 <domain uri=&quo Read More
posted @ 2011-04-26 15:14 LARSON _ Views(1045) Comments(0) Diggs(0) Edit
在silverlight前台使用定时器定时刷新时会报跨线程访问无效的错误,如下代码:using System.Threading; Timer timer = new Timer(new TimerCallback(timer_tick), null, 0, 10000);private void timer_tick(object state) { //获取异步调用wcf方法获取数据源 _model.OIU_SMS_Receive(newestID); }//以下为事件处理函数中绑定数据源的操作,简写在这,也就是这一句报错//lbMsg.DataContext = e.Result;为什么会 Read More
posted @ 2011-04-23 16:35 LARSON _ Views(968) Comments(2) Diggs(1) Edit