DTCPING

Melissa     21st March 2012 DTCPing is a very useful tool for initial troubleshooting of DTC. If there is some type of failure it can give some errors through which we can analyze as to what can be the cause of the failure in transactions.   Steps to run the tool DTCPing: Launch DTCPing…


Enabling DTC Tracing via Component Services Console

Melissa Amanna  28 Feb 2012 Many a times, we need traces in order to find out what can be the issue that causes DTC to fail or crash or throw exception. What is Tracing: Tracing is the means of understanding the behavior of an application and also a way to gather diagnostic information without having…


WinDbg: search for a string

Just thought of sharing this..  To search for a string (“Error: 1002”) in memory, we run the following command:  0:000> s -a 0 L?80000000 “Error: 1002” 04b0e06c  45 72 72 6f 72 3a 20 31-30 30 32 00 00 00 00 00  Error: 1002….. Another example to search for address 04b0e06c in memory is: 0:000>s…

2

CredUIPromptForWindowsCredentials return junk characters if you P/Invoke it from managed code on OS’s such as Spanish or French.

If you are using StringBuilder for passing in the username, password and domain name to CredUIPromptForWindowsCredentials it might cause this issue. Pass IntPtr for username, password and domain name as shown in the code snip below. [DllImport(“credui”, EntryPoint = “CredUnPackAuthenticationBufferW”, CharSet = CharSet.Unicode, SetLastError = true)] internal static extern bool CredUnPackAuthenticationBuffer(    uint dwFlags,     IntPtr…


Way to troubleshoot memory leak using performance monitor and UMDH

Please refer to http://support.microsoft.com/kb/268343 to know every detail about using UMDH and analyzing UMDH logs. The article below is a basic example to show how to analyze memory leak using performance monitor and UMDH. Steps to use UMDH are: Install the UMDH utility. (UMDH utility is included with the Debugging Tools for Windows.) Set the…


Is there a method in .Net to import a PFX file along with the certificate chain to a certificate store?

Though not directly related to distributed services but I see this information useful, especially for developers doing certificate related operations in their code (which might be a WCF application). The answer is NO. There’s no way to open a full cert chain in the .Net framework without a P/Invoke to the PFXImportCertStore() API. X509Certificate2 will only open…


How to get DTC working on Amazon Web Services.

Melissa  Amanna 02/02/2011 Recently I had been working on a case where the customer was making use of DTC with Amazon Web Services. Amazon Web Services provide online Services to other websites or client application. They make use of DHCP and hence the IP address keeps on changing.  In the case that I was working…


Windows Communication Foundation 4.0 – Simplified Configuration Feature

What is WCF Simplified Configuration?   As per MSDN definition, WCF simplified configuration can be defined as: “Simplification of the WCF configuration section through support for default endpoints, binding and behavior configurations. These changes make it possible to host configuration-free services, greatly simplifying the developer experience for the most common WCF scenarios.”   A WCF…

1

Security Features for MSDTC

Melissa Amanna                                              19th January 2012   I have worked on a few MSDTC cases and found that customers are not aware about the Security Features in MSDTC and how to use the same. Also I did not find any documentation that clearly speaks about the same. Hence I attempt to lessen the pain and…

2

AcquireCredentialsHandle() fails with SEC_E_UNKNOWN_CREDENTIALS from a WCF application

If you get the SEC_E_UNKNOWN_CREDENTIALS error from AcquireCredentialsHandle() from a WCF application you need to check the certificate being used for the WCF communication. SEC_E_UNKNOWN_CREDENTIALS is defined as: #define SEC_E_UNKNOWN_CREDENTIALS  _HRESULT_TYPEDEF_(0x8009030DL) and a return type of this indicates that the credentials are bad.   Also AcquireCredendtialsHandle() treats credentials as unknown if it does not get the…