我讨厌MSDN的WCF RIA服务网站.它没有说它是什么,它只说它做了什么.它说它可以实现什么但不说我为什么需要它.
例如:
"开发n层RIA解决方案时的一个常见问题是协调中间层和表示层之间的应用程序逻辑".
嗯,这对我来说意义不大.
"RIA Services通过提供框架组件,工具和服务来解决这个问题,这些组件,工具和服务使RIA客户端可以使用服务器上的应用程序逻辑,而无需手动复制该编程逻辑.您可以创建一个了解业务规则的RIA客户端并且知道每次重新编译解决方案时,客户端都会自动使用最新的中间层逻辑进行更新."
那么从服务器下载DLL?它是描述数据规则的元数据吗?
那是什么?它只是RAD的VS 2010附加组件吗?或者它是WCF之上或其下的技术还是什么?它在哪里生活?有了数据,还有服务器,什么?
如果你能为我总结一下,我很感激.
在wcf中,在DataMember属性上应用属性有 什么区别
private int m_SomeValue;
[DataMember]
public int SomeValue {
get {...}
set {...}
}
Run Code Online (Sandbox Code Playgroud)
而不是成员变量
[DataMember]
private int m_SomeValue;
public int SomeValue {
get {...}
set {...}
}
Run Code Online (Sandbox Code Playgroud)
?
我们目前只使用soap webservices进行所有通信,但一直在考虑转移到WCF.使用它而不是asmx服务有什么好处?
如果我们使用WCF服务,其他语言是否仍然可以与之通信?SOAP是标准化的,所有语言都可以与之交互.
有没有真正很好的例子说明如何开始使用WCF来展示它对肥皂的好处?
编辑
我总是以SOA类型的方式开发代码.今年我一直在努力做更多的DDD,但我一直觉得我没有得到它.在工作中,我们的系统是负载平衡的,并且设计为不具有状态.该架构是:
网站
===物理层==
主要服务
==物理层==
服务器1 /服务2 /服务3 /服务4
只有服务器1,服务2,服务3和服务4可以与数据库通信,主服务根据订购的产品调用正确的服务.每个物理层也是负载平衡的.
现在,当我开发一项新服务时,我尝试在该服务中考虑DDD,即使它并不真正感觉它适合.
我使用良好的DDD原则,如实体,值类型,存储库,聚合,工厂等.
我甚至尝试使用ORM,但他们似乎并不适合无状态架构.我知道有很多方法,例如使用IStatelessSession而不是NHibernate的ISession.但是,ORM只是觉得它们不适合无状态架构.
我注意到我真的只使用了DDD教给我的一些概念和模式,但整体架构仍然是SOA.
我开始认为DDD不适合大型系统,但我认为一些模式和概念确实适合大型系统.
就像我说的,也许我只是没有抓住DDD或者我可能不在分析我的设计?也许通过使用DDD告诉我的模式和概念我使用DDD?不确定这篇文章是否真的有问题,但在尝试找出DDD在整个系统中的适用位置以及它的真实可扩展性时,我有更多的想法.事实是,我认为我甚至不知道DDD是什么?
我有一个数据库关系,如下所示.域对象是基于LINQ to SQL ORM创建的.
付款包括现金付款和礼品券付款.假设购买总额为550.可以按以下组件支付
1 Gift Coupon Valued 300
1 Gift Coupon Valued 200
I Cash Currency Valued 50
Run Code Online (Sandbox Code Playgroud)

我正在使用ORM的"InsertOnSubmit"功能插入新的付款记录.以下代码工作正常.但是,如果我公司使用信用卡引入新的支付组件,我需要更改我的"付款"域类.如何使支付类打开以进行扩展并关闭仍在使用ORM的更改?
注意:Payment类具有行为(例如GetTotalAmountCollected).我正在努力使"付款"类满足OCP.
注意:优惠券类型有特定的行为.优惠券发行日期是否小于2000年1月1日,它不应用于计算总金额(即,CouponValue应为零).请参阅使用策略模式重构代码.
注意:我使用的是.Net 4.0
参考:
C#代码:
public class PaymentAppService
{
public RepositoryLayer.ILijosPaymentRepository Repository { get; set; }
public void MakePayment()
{
DBML_Project.Payment paymentEntity = new DBML_Project.Payment();
paymentEntity.PaymentID = 1;
paymentEntity.PaymentType = "PurchaseP";
DBML_Project.CashPayment cashObj = new …Run Code Online (Sandbox Code Playgroud) 我正在开发一个试图利用SOA模式的网站.该服务通过使用外观服务提供简化的API,为主要Web应用程序以及HTML5移动应用程序和本机iPhone和Android应用程序提供服务.
Web应用程序使用Castle WCF Facility使用basicHttpBinding连接到服务.
我觉得性能很慢.特别是如果该网站没有被击中超过半小时.为了解决这个问题,我已经将应用程序池回收策略更改为在应用程序池达到x%的服务器RAM之后进行回收.
我的问题是 - 在这样的设置中托管服务的最佳方式是什么?什么是最好的绑定使用?我是否应该考虑将服务从IIS中移出?我知道net.tcp是最快的绑定使用 - 最好是使用它来托管服务作为Windows服务吗?
干杯
女://