WCF断断续续用了2,3年后,直到最近做一个非常注重安全的项目,感觉自己是WSS水平大涨,觉得WCF太难用于WSS,对于初级和中级程序员简直是浪费时间。发明太多概念,但是不接地气,只会把别人弄晕掉,网上的关于用WCF实施安全的Web Service大部分是垃圾,看了只会被误导,跟着微软的指挥棒走,不值一看。
一句话,WCF把简单的东西弄复杂。
WCF想做一件伟大的事情,就是把所有的Inter-Process Communication统一到一个框架上。
但是Web Service 是最重要的,最重要的没有弄好!非安全的Web Service 用asmx非常简单,容易上手。安全的Web Service用WCF完全没有必要,只会自找麻烦,那么多的配置选项,一个个试过来是吃饱了撑得。
Web service 就是把SOAP XML post 一下,本来很简单的概念,被MS弄的超级复杂。
SOAP就是soap 申明,soap 头加上一个XML class, 这个XML class可以根据 WSDL或XML schema serialize 或者 Deserialize。
如果xsd太多,可以用微软的Xsd.exe, 难后把所有的XSD文档放在一个目录里,然后把所有的xsd文件名传给Xsd.exe,这样就可以自动生成class
举个例子:
xsd xmldsig-core-schema.xsd xenc-core-schema.xsd saml-schema-assertion-2.0.xsd /classes /namespace:davidsp8.common.Security.Saml20 /outputdir:..
微软一个非常非常重要的功能没有开放给用户是 不让你看 被传输的SOAP XML,反之其他现有的很多功能是垃圾。