MSDN Magazine August 2002
View Complete Post
There are plenty of times when you need to get information on running processes, not the least of which is during performance tuning. Using the techniques in this article and special .NET classes you'll see how to get a process' ID, name, priority, number of threads, kernel handle, and memory consumption, as well as its user-mode, kernel-mode, and total elapsed running time and put them to use in a custom app called AssemblyBrowser.
MSDN Magazine October 2004
I have a C# program that at some point calls 2 functions from an unmanaged dll using p/invoke. Everything works fine when I'm running in a console app. When I compile the same program as a windows service and run it, it crashes.
The console app and service should be identical as far as my code is concerned... all either program does is create an object from another assembly of mine and run a Start() method on it.
I have used VS2010 to debug the managed and unmanaged code, and when I step through the Console app everything looks great. When I attach the debugger to the service, i can step through the first function in the unmanaged
code, control returns to the managed code, and then later when it comes to the point where it calls the second unmanaged function, the process terminates immediately before the debugger steps into the first line of unmanaged code. There are no exceptions
that I can see, and the only thing written to the event log is the generic "service terminated unexpectedly" message. Running "sc query" on the command line lets me know the win32_exit_code is 1067.
Im running everything in .net 4, on winxp 32bit. The serivce is running as Local System ideally, but the same behavior exists when I run it under my user account.
When I call a simple WCF service from a legacy unmanaged application I get a StackOverflowException in mscorlib some time after the call successfully completes in the service and returns to the calling app. I have recreated the two approaches I use
to make the call via dllexports or roughly the approach here:
http://msdn.microsoft.com/en-us/library/ms734731.aspx from a new unmanaged application and both work correctly.
The stack overflow occurs at the latest when I exit the application at which point the stack is:
MyServicesWrapper.dll!<CrtImplementationDetails>::LanguageSupport::DomainUnload(System::Object^ source = 0x03d1f898, System::EventArgs^ arguments = <undefined value>) Line 769 C++
> msvcm80d.dll!<CrtImplementationDetails>::ModuleUninitializer::SingletonDomainUnload(System::Object^ source = 0x03d1f8b8, System::EventArgs^ arguments = <undefined value>) Line 303 + 0x6b bytes C++
and the disassembly looks like this:
000000ca jne 000000D1
000000cc mov eax,dword ptr [ebp-48h]
000000cf jmp 000000DE
000000d1 mov edx,dword ptr [ebp-48h]
I have one project which is developed in unmanaged C++ code.
Now i want to use all unmanaged classes of C++ in .NET
I have one method called .NET wrapper in which i have to convert Unmanaged C++ class to managed C++ class which will then use as proxy class.
details for that are given in below link.
Is there any other solution for develop this?
Marshaling is an important part of .NET interop. It allows you to call into unmanaged code from managed code. This column will help you get started.
Yi Zhang and Xiaoying Guo
MSDN Magazine January 2008
Due to the distributed nature of a business process it makes sense for a workflow to be deployed as a distributed application. See how Windows Workflow and Web Services hold the key.
MSDN Magazine October 2006
This month Paul DiLascia teaches readers the right way to create dynamic dialogs, explains satellite DLLs and discusses language resource DLLs.
MSDN Magazine September 2006
MSDN Magazine May 2006
The current version of Windows Management Instrumentation (WMI) satisfies many current and future manageability requirements. In this article Michael Jurek demonstrates how WMI provides important system management capabilities and develops a WMI-aware monitoring solution you can use to instrument your ASP.NET applications. He then introduces the capabilities of MOM 2005 that allow you to monitor these instrumented applications.
MSDN Magazine September 2005
In this article the author focuses on one critically important Web services specification that has been largely overlooked: the Business Process Execution Language for Web Services (BPEL4WS, or BPEL). He describes why BPEL is important and what it offers you if you are implementing Web services today or planning to in the future. Concrete examples using BizTalk Server 2004 are presented in the article.
MSDN Magazine March 2005
BizTalk Server is an excellent platform for automating B2B and EAI workflows. Process-driven workflows send messages between machines and access data. Until now, such processes were very difficult to automate, but with the introduction of Human Workflow Services in BizTalk Server 2004, this class of workflow automation is a very real possibility. This article explains it all.
Coroutines are a powerful feature of many programming languages including CLU, Scheme, Python, Ruby, and ICON. Coroutines can save processor overhead and reduce redundancy because they allow you to stop execution of a procedure midstream, return a value, and resume exactly where the procedure left off.This article shows how coroutines can be implemented for the .NET Framework by using the Fiber API and Managed Extensions for C++, and how they can be easily used with other .NET-compliant languages. This article also shows a sophisticated use of the runtime host for running multiple managed threads on a single OS thread.
MSDN Magazine September 2003
MSDN Magazine July 2003