Download presentation
Presentation is loading. Please wait.
1
What’s New in WCF 4.5 Ed Jones Grey Guindon
2
What’s New in WCF 4.5 Introduction: Simplify, Simplify, Simplify Throttles, Timeouts, & Quotas Simpler Config Files Config File Tooltips, IntelliSense, &Validation Contract-First Generation HTTPS For Free! OFF-TOPIC (but equally important): What’s Next in BizTalk
3
“I submit WCF's various reader quotas and limits as irrefutable proof the way to hell is paved with good intentions.” -Tomas Restrepo The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00: '. There is an error in the XML document. The maximum nametable character count quota (16384) has been exceeded while reading XML data. The nametable is a data structure used to store strings encountered during XML processing - long XML documents with non-repeating element names, attribute names and attribute values may trigger this quota. This quota may be increased by changing the MaxNameTableCharCount property on the XmlDictionaryReaderQuotas object used when creating the XML reader. The formatter threw an exception while trying to deserialize the message: Error in deserializing body of request message for operation 'SubmitQuery'. The 'maximum bytes per Read operation' quota (4096) has been exceeded while reading XML data. Long element start tags (consisting of the element name, attribute names and attribute values) may trigger this quota. This quota may be increased by changing the MaxBytesPerRead property on the XmlDictionaryReaderQuotas object used when creating the XML reader. The maximum string content length quota (8192) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas The maximum array length quota (16384) has been exceeded while reading XML data. This quota may be increased by changing the MaxArrayLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader.
4
Throttles, Timeouts, Quotas
Property On Old Value New Value ChannelInitializationTimeout NetTcpBinding 5 sec 30 seconds ListenBacklog NetTcpBinding, SMSvcHost.exe 10 16 * processor count MaxPendingAccepts NetTcpBinding, NamedPipeBinding 1 2 * processor count SMSvcHost.exe 2 4 * processor count MaxPendingConnections 12 * processor count ReceiveTimeout 10 sec READER QUOTAS Name Old Value New Value MaxArrayLength 16384 elements Int32.MaxValue (text) MaxBytesPerRead 4096 bytes MaxDepth 32 nodes deep 128 MaxNameTableCharCount 16384 characters MaxStringContentLength 8192 characters
5
Contract first utility
WCF 4.5 give us the capability to build data contracts and classes directly from XSDs. To use the contract-first tool, the XSD must be downloaded locally. The contract-first tool is integrated into Visual Studio 2012 as a build task. You can configure how the dev environment will create the contracts through the “WCF Options” item in the Project properties.
6
Contract-first settings
Serializer Mode: This setting determines which serializer is used for reading service contract files Reuse Types: This setting specifies which libraries are used for type reuse. Collection Type: This setting specifies the fully-qualified or assembly-qualified type to be used for the collection data type. Dictionary Type: This setting specifies the fully-qualified or assembly-qualified type to be used for the dictionary data type. EnableDataBinding: This setting specifies whether to implement the INotifyPropertyChanged interface on all data types to implement data binding. ExcludedTypes:This setting specifies the list of fully-qualified or assembly-qualified types to be excluded from the referenced assemblies. GenerateInternalTypes: This setting specifies whether to generate classes that are marked as internal. GenerateSerializableTypes: This setting specifies whether to generate classes with the SerializableAttribute attribute. ImportXMLTypes: This setting specifies whether to configure the data contract serializer to apply the SerializableAttribute attribute to classes without the DataContractAttribute attribute SupportFx35TypedDataSets: This setting specifies whether to provide additional functionality for typed data sets created for .Net Framework 3.5.. InputXsdFiles: This setting specifies the list of input files. Language: This setting specifies the language of the generated contract code. NamespaceMappings: This setting specifies the mappings from the XSD Target Namespaces to CLR namespaces. OutputDirectory: This setting specifies the directory where the code files will be generated.
7
Better Integration with the Host
Automatically inherit the security settings for IIS Inherit SSL settings Inherit authentication modes (and will also support multiple authentication modes per end point ) **** previously if you wanted to configure a WCF endpoint that supported a variety of the transport security modes, those were each separate end points and there was one per end point and they would often sit at different addresses will support multiple authentication modes.
8
Intellisense – tool tips
With Intellisense you get context help (Tooltip Text) that helps to define a particular selection
9
Intellisense – Types of
When configuring an <endpoint> you can now reference a dropdown for the contract (Intellisense lists all contracts in your project)
10
Intellisense – Types of
When configuring custom bindings – say wiring up a binding reference type in the definition of your <endpoint> - Intellisense is smart enough to reference those which are (already) defined within your config file…
11
Clean client configuration Generation
12
DEMO
13
Classes from xml You can generate a class from a sample XML document using the “Paste XML as classes” feature of Visual Studio. This is a .NET 4.5 feature (not specific to WCF)
14
demo
15
“Reports of my death are greatly exaggerated” –BizTalk Server*
*also Mark Twain
16
What’s next in Biztalk Server (2010 R2)
Platform Update: support for Visual Studio 2012, Windows 8 Server, SQL Server 2012, Office 15 and System Center 2012 B2B enhancements to support the latest standards natively HL , 2.6 SWIFT Message Pack X , EDIFACT D05B+ Better performance Multi-fold improvements ordered send port scenarios Improvements to the performance of dynamic send ports and ESB, via host handler association of send ports MLLP adapter performance
17
Improved Connectivity
Better manageability Visualize BizTalk artifact dependencies in BizTalk Admin console ESB Toolkit as core part of BizTalk setup and product Improved Connectivity Consume REST services directly in BizTalk Simplified SharePoint integration experience Improvements to existing adapters (e.g., HIS, SMTP) Easy connectivity to Azure Service Bus relay, queues and topics and BizTalk running in Azure…
18
Biztalk 2010 R2 timelines The CTP version is available now as an Azure VM Beta will be released sometime in October RTM will happen about 6 months after Windows Server 2012 releases (April 2013ish?)
19
References: Daniel Roth, “What’s New in Windows Communication Foundation in Microsoft .NET 4.5” Bala Sriram & Rajesh Ramamirtham, “Application Integration Futures: the Roadmap and What’s Next on Windows Azure” Javed Sikander & Rajesh Ramamirtham, “Building Integration Solutions Using Microsoft BizTalk On- Premises and on Windows Azure” MSDN, “Contract First Tool”, us/library/hh aspx MSDN, “Generating Data Type Classes from XML”, us/library/hh aspx
20
Thank you! Ed Jones Grey Guindon ed.jones@rbaconsulting.com
Grey Guindon
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.