I need to performance profile web application developed using MVC3 pattern. The application consists of 3 tiers. Presentation using MVC3, Business functionalities as WCF Rest service and DAL layer uses entity framework to interact with SQL Server. Dependency injection (Spring.NET) is used to enable communication between Presentation layer to WCF service and then to DAL.
Please let me know whether dotTrace 5.0 or later can support to profile this application. If possible how can I instrument the WCF service?
Your helps are highly appreciated.
I found the solution with MS Profiler. Instrument the Service URL and then replace the URL in the popup IE with the application URL. Do the required operations in the application. The profiler will capture the sessions related the WCF calls. Once has to do two separate profiling sessions, one for the application which will not instrument beyond the WCF calls and second for the WCF which will instrument only the WCF assemblies. I have tried this approach with dotTrace but couldn’t succeed.
Let me know if any of need any details.
Is your WCF deployed to IIS?
If yes, then you should start with "Profile IIS Application". It will restart the whole IIS, attach to it and start waiting for the activity.
After that you should make your WCF service actually do some work. Open option for that is - open the browser and open your application.
WCF hosted in IIS as Rest service. I will try the approach you had suggested.
Also would like to know whether doTrace will capture the call stacks of assemblies instantiated using spring.net.
1. Have you succeded in profiling IIS?
2. If Spring.Net is hosted in IIS - it will be captured.
Otherwise you may use .Net Process mode - it captures all .net processed, which are started.
I could successfully profile the application.
I have also tried out the memory profiling above mentioned IIS hosted application but did not showing the application related objects. Any suggestions please.