我正在开发一个拥有多个客户端的应用程序 - 桌面,移动设备,Web门户.我们正在转向SOA类型的架构,并将使用WCF.
在桌面和Web门户端使用netTcp +传输/消息安全性+ Windows身份验证(甚至UsernameToken和自定义UsernameValidator提供程序)时,WCF的故事非常棒.
它完全崩溃的地方是在紧凑的框架方面...它支持的WCF子集是如此限制.我只是在整个SSL的标题中使用basicHttp +用户名/密码而辞职,但似乎你不能在紧凑的框架堆栈上添加标题(没有OperationContextScope) - 这样我就可以使用包含用户名/密码作为EVERY的参数了服务中的SINGLE操作方法.
请告诉我,我错了,有更好的方法.
我有一个应用程序,我想支持SQL Server镜像.但是,该体系结构目前是在单个MSDTC事务中登记多个WCF服务和数据库连接,Microsoft声明在使用镜像时不支持MSDTC.
他们的解释并不是非常有用的:
使用数据库镜像与MS DTC事务时,可能会出现类似的情况.例如,新的主体服务器在故障转移后联系MS DTC.但是,MS DTC不了解新的主体服务器.因此,即使事务被视为在其他数据库中提交,MS DTC也会停止处于"准备提交"阶段的任何事务.
我理解问题的是最后一句话.这与DB服务器没有镜像,并且在同一时间点死亡有什么不同?有人可以向我解释一下吗?我需要能够向组织中的其他人(以及客户)解释这一点,但我不明白为什么MSDTC可以在一种情况下正确回滚/补偿,但如果其中一个参与者是镜像SQL服务器则不能(完全安全模式).
sql-server msdtc failover high-availability database-mirroring