请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 2220|回复: 0

[Silverlight] VS2010 beta,sl4 beta 升级到 RC 后,原工程如果使用RIA需要做的更改 [复制链接]

127000 楼主
帖子
31
体力
241
威望
11
发表于 2010-3-26 22:31:23 |显示全部楼层
最近在升级原先使用Beta制作的项目,在升级中参考微软的说明,顺利完成了多个项目的升级,在此将升级的部分过程说明一下,帮助大家少走弯路。

在项目中以下内容会做变化
1.System.Windows.Ria --> System.ServiceModel.DomainServices.Client + System.ServiceModel.DomainServices.Client.Web
2.System.Windows.Controls.Ria --> System.Windows.Controls.DomainServices
3.System.Web.Ria --> System.ServiceModel.DomainServices.Server + System.ServiceModel.DomainServices.Hosting
4.System.Web.DomainServices --> System.ServiceModel.DomainServices.Server
5.System.Web.DomainServices.EntityFramework   --> System.ServicesModel.DomainServices.EntityFramework
6.System.Web.DomainServices.LinqToSql --> Microsoft.ServiceModel.DomainServices.LinqToSql
7.System.Web.DomainServices.Proxies --> Microsoft.ServiceModel.DomainServices.Hosting.Local
8.System.Windows.Controls.Ria.Design --> System.Windows.Controls.DomainServices.Design
9.System.Windows.Controls.Ria.Expression.Design --> System.Windows.Controls.DomainServices.Expression.Design
10.System.Windows.Controls.Ria.VisualStudio.Design --> System.Windows.Controls.DomainServices.VisualStudio.Design

在引用中以下内容会有变化
1.System.Web.DomainServices --> System.ServiceModel.DomainServices.Server
2.System.Web.DomainServices.Providers --> System.ServiceModel.DomainServices.EntityFramework (for LinqToEntities classes)
   Microsoft.ServiceModel.DomainServices.LinqToSql (for LinqToSql classes)

3.System.Web.Ria --> System.ServiceModel.DomainServices.Hosting
4.System.Web.Ria.ApplicationServices --> System.ServiceModel.DomainServices.Server.ApplicationServices
5.System.Web.Ria.Data --> Namespace removed.
   System.ServiceModel.DomainServices.
   Composition Attribute moved to System.ComponentModel.DataAnnotations.
   OperationError renamed to ValidationResultInfo and now available in both         System.ServiceModel.DomainServices.Client and         System.ServiceModel.DomainServices.Server.

6.System.Web.Ria.Services --> System.ServiceModel.DomainServices.Hosting
7.System.Windows.Controls.Ria --> System.Windows.Controls
8.System.Windows.Data --> System.Windows.Controls
9.System.Windows.Ria --> System.ServiceModel.DomainServices.Client
10.System.Windows.Ria.ApplicationServices --> System.ServiceModel.DomainServices.Client.ApplicationServices
11.System.Windows.Ria.Services --> System.ServiceModel.DomainServices.Client

以上引用位置如下
%Program Files%\Microsoft SDKs\RIA Services\v1.0\Libraries\Server
%Program Files%\Microsoft SDKs\RIA Services\v1.0\Libraries\Silverlight
%Program Files%\Microsoft SDKs\RIA Services\v1.0\Toolkit\Libraries\Server


如果更改完成,再编译,目前会提示.gs.cs 中[WebGet]有错误,需要再添加System.ServiceModel.Web.Extensions引用,这样就基本完成修改,接下来就是要修改 DomainService.cs 文件,需要修改添加,更新,删除的内容,修改方法如下(将绿色内容删除,红色内容改变为蓝色):
1.添加部分
public void InsertProduct(Product product)
{
  if (product.EntityState != EntityState.Added)
  {

    if (product.EntityState != EntityState.Detached)
    {
      ObjectContext.ObjectStateManager.ChangeObjectState(product, EntityState.Added);
    }
    else
    {
       ObjectContext.AddObject("Products", product);  --> ObjectContext.Products.AddObject(product);    }
  }
}

2.更新部分
public void UpdateProduct(Product current)
{
  ObjectContext.AttachAsModified(current, this.ChangeSet.GetOriginal(current)); --> ObjectContext.Products.AttachAsModified(current, this.ChangeSet.GetOriginal(current));
}

3.删除部分
public void DeleteProduct(Product product)
{
  if (product.EntityState == EntityState.Detached)
  {
    ObjectContext.Attach(product); --> ObjectContext.Products.Attach(product);
  }
  ObjectContext.DeleteObject(product); --> ObjectContext.Products.DeleteObject(product);
}


如果项目中还使用了 Richtextarea 控件,还需要更改 xaml 文件,修改为 Richtextbox.

基本上大的内容就这么多,其实在有些项目中还有其他的问题,但根据微软的文档逐步调试,都得到了解决。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
西部数码云主机4G内存500G仅4980!
您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-23 06:05 , Processed in 0.081484 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部