Hi All,
The visual studio code analysis team introduces this great article of "Code Metrics" in Visual Studio 2008
Hi All,
This is a great article and i think all of us need to read it well.
Lessons Learned from Five Years of Building More Secure Software by Michael Howard
Hi All,
Multi-processor machines are now becoming standard while the speed increases of single processors have slowed down. The key to performance improvements is therefore to run a program on multiple processors in parallel. Unfortunately, it is still very hard to write algorithms that actually take advantage of those multiple processors. In fact, most applications use just a single core and see no speed improvements when run on a multi-core machine. We need to write our programs in a new way.
If you want to know more about these subjects:
- Task Parallel Library "TPL"
- Parallel.For versus ThreadPool
- Static Work Distribution
Visit http://msdn.microsoft.com/msdnmag/issues/07/10/Futures/default.aspx
Hi All,
Try to answer on these questions:
1. what is "??" mean in CSharp ?
2. How to resolve relative url's without ResolveUrl ?
3. Speed up string comparison ...
Do you want to know more about .Net Tips ?
just visit http://dotnettipoftheday.org/tips/
Background:
After we downloaded WCF LOB Adapter SDK and read my previous post. You will find all the customization options and Installation Guide for the WCF LOB Adapter SDK in this link
http://download.microsoft.com/download/9/0/d/90d3fc09-de48-4d83-8147-e8a08275c255/InstallationGuide.htm
· Select all (Runtime, Tools and Samples)
Installation Results: you will find a new kind of projects in your Microsoft Visual Studio .Net 2005 called “WCF LOB Adapter”
Now, let’s start:
1- From Microsoft Visual Studio, select New Project and on Visual C# Projects choose WCF LOB Adapter from visual studio installed templates
2- When you click OK … A wizard will start to guide you to customize your LOB Adapter
3- The 1st step in wizard, you type the adapter scheme, adapter Namespace and URI.
Scheme:
Represents the URI scheme for the transport protocol in use on the adapter binding. For example – WCF NetTcpBinding uses “net.tcp” and WSHttpBinding uses “http” as the scheme.
Project Namespace:
Generated adapter classes are defined within this project namespace. For example – Microsoft.WCF.Samples.AdapterSDK
Service Namespace:
Depicts the namespace for the WSDL generated by the adapter metadata retrieval classes. For example – myadapter://Microsoft.WCF.Samples.AdapterSDK.
4- Step 2: Determine Data Flow of your Adapter and Metadata Features.
Synchronous Outbound: Support one-way send or request/response message exchange pattern
Asynchronous Outbound:Asynchronous flavor of Outbound message exchange pattern
Synchronous Inbound:Support one-way receive or reply message exchange pattern
Asynchronous Inbound:Asynchronous flavor or Inbound message exchange pattern (not supported in ASDK Beta 2)
Metadata Browse:Allow browsing of the existing system metadata where some meaningful categorization is possible. For more detail, see this post.
Metadata Search:Allow searching of the metadata in systems where unfiltered metadata is too large. For more detail, see this post.
Metadata Retrieval:Allow retrieval of a WSDL/Service Contract from selected metadata after a browse and/or a search function. For more detail, see this post.
5- Step 3: Add Your Adapter Properties
The properties defined on this page are exposed as WCF Binding Properties and can be set programmatically or application configuration files in WCF client.
See this post for information on how to surface adapter settings as adapter binding properties.
6- Step 4: Add Adapter Connection Properties
The properties defined on this page are used within the Connection Uri String used to connect to the target LOB system. These properties can be configured at design time using Add Adapter Service Reference Visual Studio Plug-In/Consume Adapter Service BizTalk Project Add-In > Configure > Uri Properties. At run-time these properties can be set within the Uri used to build the service endpoint address.
7- Last Step: Summary
8- Click Finish and The following table provide high level description of the classes generated by the Adapter Code Generation Wizard.
· CustomAdapter1
· CustomAdapter1Binding
· CustomAdapter1BindingCollectionElement
· CustomAdapter1BindingElement
· CustomAdapter1BindingElementExtensionElement
· CustomAdapter1Connection
· CustomAdapter1ConnectionFactory
· CustomAdapter1ConnectionUri
· CustomAdapter1HandlerBase
· CustomAdapter1InboundHandler
· CustomAdapter1MetadataBrowseHandler
· CustomAdapter1MetadataResolverHandler
· CustomAdapter1MetadataSearchHandler
· CustomAdapter1OutboundHandler
· CustomAdapter1Trace
Next: WCF LOB Adapter Mechanism & Demonstrate WCF LOB Adapter Sample
What is WCF LOB Adapter SDK?
The WCF LOB Adapter SDK is targeted at developers that are interested in exposing their line-of-business (LOB) systems for integration purposes to any .NET integration broker/integration application. For purposes of this discussion a LOB system may be defined as a metadata rich back end systems whose functionality is too rich and dynamic to be captured in traditional static Web Service Description Language (WSDL) contracts. This SDK enables development of metadata driven, host-agnostic adapters i.e. independent of consuming app, which helps you avoid duplication of effort in writing adapters
How does WCF LOB Adapter differ from a WCF Service?
An adapter may be conceptually thought of as an “uber service” atop an LOB system that will let you carve out and compose a contract that is most relevant to your application and still retain all the advantages of a traditional service like loose coupling and strong typing.

Given all these choices, when would a developer write a WCF LOB Adapter or a WCF Service or a WCF Channel?
If the target system that you are trying to integrate with is not metadata aware and your intent is to simply transport bits to the target system, then you write a WCF transport channel using the WCF Channel Model framework directly. Examples of such systems include MSMQ, ftp etc.
If the target system is metadata aware but its metadata/functionality is easily captured in a static contract (or a manageable set of contracts) then it is best to write a traditional WCF service wrapper around the system native calls. E.g. a proprietary Math calculator program written in FORTRAN.
If the target system’s functionality is large and dynamic, and you want to be able to expose the entire gamut of functionality for integration, creating an adapter to the WCF Adapter SDK is your best bet. Examples of such systems include SAP, databases, etc.
· Note: this is the point of view for C. Venkatesh, Principal Group Manager of WCF LOB Adapter SDK at Microsoft
· With My Little Experience, WCF LOB Adapters work in highly performance with the last two cases.
Link to download WCF LOB Adapter SDK:
http://www.microsoft.com/downloads/details.aspx?FamilyID=56278FDE-B708-469C-987E-DED9C6C5E580&displaylang=en
Basic Reference : http://blogs.msdn.com/sonuarora/
Next: How to add new WCF LOB Adapter to your .NET solution?
Later: With WCF LOB Adapters, Less Code … More Magic