申请博客已经这么长时间了,一直忙于项目,今天抽出时间,发表第一篇日志.
这篇日志来自于微软的官方网站,因为微软已经把WFX整合进Framework,改名
为Framework 3.0. 所以,前一阶段的Feb CTP必然会有改动,具体大家可以参考
下面,有问题,可以一起讨论.
http://wcf.netfx3.com/content/BreakingChangesbetweenFebCTPandVistaBeta2.aspx
This document describes the breaking changes between the WCF Feb CTP and Vista Beta2. C# code examples are provided in some sections. There are only a few changes between these releases because the Vista Beta2 release was locked down shortly after the Feb CTP. The changes in this list are primarily motivated by improving OM usability. Some changes have been made to facilitate industry interop. And some have been made for security reasons.
Not all types involved in a change are mentioned here. Types will not show up in this report that have just been moved to a different namespace. If you have Visual Studio, searching for moved types in the object browser is an easy way to find their new namespace. They will also show up as removed from their old namespace and added to their new namespace in the detailed api change reports.
Link this URI for details:
http://wcf.netfx3.com/content/DetailChangeReportFebCTPtoVistaBeta2.aspx
Change | Rename ASP.NET Integration Mode to ASP.NET Compaitibility Mode |
Type of Origin | System.ServiceModel.AspNetIntegrationRequirementAttribute |
This change effects | OM;Config |
Before | AspNetIntegrationRequirementsAttribute |
After | AspNetCompatibilityRequirementsAttribute |
Code Before [AspNetIntegrationRequirements( RequirementsMode = AspNetIntegrationRequirementsMode.Allowed )] | |
Code After [AspNetCompatibilityRequirements( RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed )] |
Change | WsdlImporterElement and PolicyImporterElement return an object of type string instead of "Type" |
This change effects | OM |
Before | WsdlImporterElment.Type |
After | WsdlImporterElment.Type |
Change | Fixed capitalization of HttpMappingMode.SoapWithWSAddressing |
Description | The enum member SoapWithWsAddressing was renamed to SoapWithWSAddressing to match the platform standard for capitalizing short acronyms. |
Type of Origin | System.ServiceModel.Channels.HttpMappingMode |
This change effects | OM |
Change | INTEROP: Align SecurityAlgoritmSuite with WS-SecurityPolicy |
Description | Aligned System.ServiceModel.Security.SecurityAlgorithmSuite with WS-SecurityPolicy terminology. The values of the algorithmSuite attribute in the configuration are changed in the same way as the members of SecurityAlgorithmSuite class. |
Type of Origin | System.ServiceModel.Security.SecurityAlgorithmSuite |
This change effects | OM;Config |
Before public abstract class SecurityAlgorithmSuite | |
After public abstract class SecurityAlgorithmSuite |
Change | Remove CredMan support from security code |
Description | Originally, client credentials provider used information from Windows CredMan when username/password or client certificate credentials were not specified in the proxy behavior. After this change, we no longer look into CredMan when credentials are not specified. Users are advised to use InfoCards credentials provider instead to get equivalent functionality. |
This change effects | public behavior change |
Change | Change Spnego, Tlsnego to not use composite duplex |
Description | If Spnego/Tlsnego was configured over CompositeDuplex, it used the CompositeDuplex factory below it. This meant that the reply-to header of the RST message could not be secured in the case of SPNego, Tlsnego. It was possible for an attacker to cause the server to send the RSTR to a different address by tampering with the reply-to of the RST. |
This change effects | Wire |
Before | Spnego/Tlsnego used the CompositeDuplex factory below it. |
After | SPnego / Tlsnego now use the underlying transport connection directly even if the app binding has composite duplex layered over the transport. |
Change | Encapsulation of all Msmq message properties in a single class |
Type of Origin | System.ServiceModel.MsmqIntegration.MsmqIntegrationMessageProperty |
This change effects | OM |
Before | MSMQ message properties mapped directly to the Indigo message properties. |
After | There’s a single Indigo property which encapsulates all MSMQ message properties. The latter are accessible through public getters and setters (if applicable). If the MSMQ property is not set, the corresponding getter gives null. All value types are represented in the form of Nullable<>. It is an error to send a message using integration channel without this property. |
Code Before if (indigoMessage.Properties.HasKey[MsmqPropertyNames.Priority]) (indigoMessage.Properties[MsmqPropertyNames.Priority] as MessageProperty?).Value); | |
Code After MsmqIntegrationMessageProperty property = MsmqIntegrationMessageProperty.Get(indigoMessage); |