WCF RIA SERVICE相关技术
WCF RIA SERVICE实体属性拷贝
private void DoSubmit() {
((IEditableObject)this.RepairContract).EndEdit();
var domainContext = new DmsDomainContext();
var newRepairContract = new RepairContract();
domainContext.RepairContracts.Add(newRepairContract);
newRepairContract.ApplyState(null, this.RepairContract.ExtractState(ExtractType.ModifiedState));
foreach(var repairContractItem in this.RepairContract.RepairContractItems) {
var newRepairContractItem = new RepairContractItem();
newRepairContract.RepairContractItems.Add(newRepairContractItem);
newRepairContractItem.ApplyState(null, repairContractItem.ExtractState(ExtractType.ModifiedState));
foreach(var repairContractMaterial in repairContractItem.RepairContractMaterials) {
var newRepairContractMaterial = new RepairContractMaterial();
newRepairContractItem.RepairContractMaterials.Add(newRepairContractMaterial);
newRepairContractMaterial.ApplyState(null, repairContractMaterial.ExtractState(ExtractType.ModifiedState));
foreach(var oldSparePart in repairContractMaterial.OldSpareParts) {
var newOldSparePart = new OldSparePart();
newRepairContractMaterial.OldSpareParts.Add(newOldSparePart);
newOldSparePart.ApplyState(null, oldSparePart.ExtractState(ExtractType.ModifiedState));
}
}
}
2.WCF RIA SERVICE配置问题
当 aspNetCompatibilityEnabled="true" 时,sl无法引用 WCF的服务,WCF的 servics.svc 的文件浏览时,提示出错,如下:
The service cannot be activated because it does not support ASP.NET compatibility. ASP.NET compatibility
is enabled for this application. Turn off ASP.NET compatibility mode in the web.config or add the
AspNetCompatibilityRequirements attribute to the service type with RequirementsMode setting as 'Allowed' or 'Required'.
当aspNetCompatibilityEnabled="false"时,试运行时,又出现出错信息:
An unhandled exception('Unhandled Error in Silverlight Application
Code:4004
Category:ManagedRuntimeError
Message:
System.ServiceModel.DomainServices.Client.DomainOperationException:
该项目中,包括WCF服务和RIA服务,请问该怎么办?
解决方法:
首先在web.config种设置aspNetCompatibilityEnabled="true"
其次,在wcf service类上标记如下attribute
using System.ServiceModel.Activation;
[AspNetCompatibilityRequirements(
RequirementsMode=AspNetCompatibilityRequirementsMode.Allowed)]
public class Service2 : ClassLibrary1.IService2
结论:再次运行不会报同样的错误
3.在服务器上安装 WCF RIA Services 失败
•在 Internet 信息服务(IIS)管理器中创建应用程序池时 .Net Framework 版本下拉选项中没有 .Net Framework 4.0.30319。
•在浏览器中访问业务系统首页时,Silverlight下载进度一直停留在100%,并未正确显示登录界面。
•在浏览器中访问业务系统中某个业务节点时,系统未能正确加载查询面板中下拉框中的内容。
•在 Internet 信息服务(IIS)管理器中启用了动态/静态内容压缩,但服务端响应仍是未压缩的内容。
在服务器上安装 WCF RIA Services 失败。
安装 WCF RIA Services 失败,提示信息为"Prerequisites Check
The following required components are missing:
Microsoft Visual Studio 2010 or Visual Web Developer 2010 Express
Microsoft Silverlight 4 Developer Runtime
Microsoft Silverlight 4 SDK"
在应用服务器上安装 RiaServices 时,请使用如下命令:
msiexec /i RiaServices.msi server=True
在 Internet 信息服务(IIS)管理器中创建应用程序池时 .Net Framework 版本下拉选项中没有 .Net Framework 4.0.30319。
请确保该服务器已安装 .Net Framework 4.0。
在此前提下,可执行此命令重新注册 .Net Framework 4.0 到 IIS 中:%WINDIR%/Microsoft.Net/Framework/v4.0.30319/aspnet_regiis.exe -i
在浏览器中访问业务系统首页时,Silverlight下载进度一直停留在100%,并未正确显示登录界面。
可使用 Fiddler 跟踪,若看到客户端在访问服务端路径为 \LicenseService.svc 时返回的HTTP代码为500,则应是业务系统未正确加载激活机制。
请在该网站所使用的应用程序池的高级设置界面,将启用32位应用程序属性设置为True。
在浏览器中访问业务系统中某个业务节点时,系统未能正确加载查询面板中下拉框中的内容。
可使用 Fiddler 跟踪,若看到客户端在访问服务端路径为 /ClientBin/Sunlight-Silverlight-Dms-Web-DmsDomainService.svc/ 时返回的HTTP代码为400,则应是服务端 bin 目录下文件不完整导致。
由于业务系统打印需要使用 Telerik Reporting 组件,请确认服务端 bin 目录下包含有 Telerik.Reporting.dll、Telerik.Reporting.Service.dll 这两个DLL文件。
在 Internet 信息服务(IIS)管理器中启用了动态/静态内容压缩,但服务端响应仍是未压缩的内容。
可使用 IIS 的失败请求跟踪功能,在日志中搜索关键字"_COMPRESSION",若显示压缩失败的原因是"NO_ACCEPT_ENCODING",应是客户端与服务端之间的防火墙过滤了请求的 Accept-Encoding 属性。
可调整防火墙设置,以 ISA Server 为例,可禁用 Compression Filter 和 Caching Compressed Content Filter。
WCF RIA SERVICE相关技术的更多相关文章
- 使用Fiddler解析WCF RIA Service传输的数据
原文 http://www.cnblogs.com/wintersun/archive/2011/01/05/1926386.html 使用Fiddler 2 解析WCF RIA Service传输的 ...
- Consuming Hidden WCF RIA Services
原文 http://codeseekah.com/2013/07/05/consuming-hidden-wcf-ria-services/ A Silverlight application mad ...
- Silverlight项目笔记1:UI控件与布局、MVVM、数据绑定、await/async、Linq查询、WCF RIA Services、序列化、委托与事件
最近从技术支持转到开发岗,做Silverlight部分的开发,用的Prism+MVVM,框架由同事搭好,目前做的主要是功能实现,用到了一些东西,侧重于如何使用,总结如下 1.UI控件与布局 常用的主要 ...
- 构建基于WCF Restful Service的服务
前言 传统的Asmx服务,由于遵循SOAP协议,所以返回内容以xml方式组织.并且客户端需要添加服务端引用才能使用(虽然看到网络上已经提供了这方面的Dynamic Proxy,但是没有这种方式简便), ...
- WCF Data Service 使用小结 (一)—— 了解OData协议
最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的.关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的 ...
- WCF Data Service 使用小结 —— 了解OData(一)
最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的.关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的 ...
- SAAS相关技术要点
这篇文章本来是我们开发组内部用的一个小文档.因为我们公司以前没有做SAAS的经验,就成立了一个小组做一做这方面的技术前探,我是成员之一.这篇文档想从宏观的层面把开发一个SAAS应用所要用到的技术点稍微 ...
- WCF Restful Service的服务
构建基于WCF Restful Service的服务 前言 传统的Asmx服务,由于遵循SOAP协议,所以返回内容以xml方式组织.并且客户端需要添加服务端引用才能使用(虽然看到网络上已经提供了这方面 ...
- [转]构建基于WCF Restful Service的服务
本文转自:http://www.cnblogs.com/scy251147/p/3566638.html 前言 传统的Asmx服务,由于遵循SOAP协议,所以返回内容以xml方式组织.并且客户端需要添 ...
随机推荐
- R语言安装openxl包报错解决办法
在R语言中使用openxlsx包,会报错 解决办法就是: 下载安装Set-Rtool,安装时注意勾选对话框 然后在R中运行以下代码: Sys.setenv("R_ZIPCMD" = ...
- 档案 & 权限管理
1. owner, group, others root 是万能的天神 权限 连结档 owner group 容量 修改日期 档名 2. chown, chgrp, chmod chgrp –R ro ...
- PAT007 六度空间
“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论.这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够 ...
- 【转】【CTO俱乐部走进支付宝】探索支付宝背后的那些技术 部分
怎么避免研发环节当中引入漏洞?“我们有一套比较成熟的安全研发开发框架.首先我们用统一的框架,框架本身是经过我们安全工程师去做过非常好的认证的,同时在研发过程当中我们对这些问题也有些规范.一旦发现风险我 ...
- python 糗事百科实例
爬取糗事百科段子,假设页面的URL是 http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获取页面信息,用XPath / re 做数据提取 获取每个 ...
- MFC中CString转换成char数组的问题
由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串.关于它们之间的转换,在VS2008中有时会出现异 ...
- Flash AS 2.0右键菜单问题
这几天都在忙这个右键菜单,因为之前的右键菜单都不能用了,必须做新的. 可是又必须使用原来2.0的接口和方法,真是忙的焦头烂额. 之前2.0的东西太多又太杂. 我头一个右键菜单和二级菜单没有问题了,做第 ...
- nodejs之路探寻
在webpack配置中经常会发现 const path = require('path') 这是加载nodejs路径处理API,这个API主要包含下面三个方法 path.dirname(filepat ...
- Material design之Views and Shadows
Views and Shadows: elevation是构成控件阴影的基本属性.通过设置较高的Z值可以接受更大的阴影,阴影只能投射到Z=0的平面上. View Elevation 控件的Z值,是由两 ...
- 第九篇:使用 lstat 函数获取文件信息
前言 在之前的文章中,描述过如何用 fcntl 函数改变文件的状态标记.但,文件还有很多信息,如文件类型,权限设置,设备编号,访问时间等等.如果要获取这些信息,则使用函数 lstat 可以轻松达到这个 ...