• Sajay's Blog

    Sample ETW trace for WCF

    • 0 Comments
    You can see How do I collect an ETL trace for WF/WCF? for the commands or you can download the sample trace from here. Open the trace using the following command line or File –> Open and load the manifest from the Framework folder or launch the following...
  • Sajay's Blog

    Introducing SvcPerf - An End-to-End trace Analysis tool for WCF

    • 0 Comments
    Standardizing on ETW In 4.5 we introduced ETW tracing for WCF. In the past couple of months we have been trying to establish some common tools that can be used to debug and analyze ETW traces from WCF. We have a large number of tools that allow ETW...
  • Sajay's Blog

    Efficient Buffer management – Reduced LOH allocation

    • 0 Comments
    BufferPools http://kennyw.com/indigo/51 I’m going to talk about the internals of WCF Bufferpooling as it stands today. Kenny and Andrew already have a posts on bufferpooling that cover them at a higher level. Here I dive into how the bufferPool was optimized...
  • Sajay's Blog

    How to find the MTU on a NIC?

    netsh interface ipv4 show subinterfaces
  • Sajay's Blog

    Debugging Assembly loading

    • 0 Comments
    Does a referenced assembly get loaded if no types in the assembly are “not used”? The term used is is very subjective. For a developer it would mean that you probably never created an instance or called a method on it. But this does not cover the whole...
  • Sajay's Blog

    How do I find all the ETW sessions on the machine?

    • 0 Comments
    logman is your tool for this. Here is how you can query for all the sessions and also how to see values from a particular session. c:\> logman -ets Data Collector Set Type Status -------------------------------------------------------------------...
  • Sajay's Blog

    Checkin #199390

    • 0 Comments
    Here is something for you performance guys. This was a hard one to crack but. Let me know what you think of this and how you would like to see this evolve. It will be a while before this is actually available. Thanks to Wenlong for driving...
  • Sajay's Blog

    Linq over Excel

    I was writing a tool and needed to quickly query an excel sheet. I’m not diving into linq but you get general idea of how to query/sort over the datatable and once you have an enumerable object you can pretty easily run a linq query over it. public...
  • Sajay's Blog

    Are connections pools shared between ChannelFactories?

    NO!! You can find out about the connection Pool settings here and you can check Kenny’s post on how connection pooling works.
  • Sajay's Blog

    How to synchronize multiple threads?

    In certain load tests you want to make sure a bunch of threads reach a particular state before they proceed with the rest of the work. You cannot make sure that all threads execute a point simultaneously since the CPU scheduling would determine this....
  • Sajay's Blog

    How to throttle callbacks or completions?

    • 0 Comments
    WCF enables throttling execution of operations but not their completions. This becomes and issue when a large number of outstanding operations complete almost simultaneously causing the callback on the client to be overwhelmed with completions. ...
  • Sajay's Blog

    How to collect stacks during context switches?

    • 0 Comments
    With xperf being more and more adopted and with rich stackwalking capabilities, its only natural to use it for finding out bottlenecks and cause for switch out. Findout the ready thread information and what causes the threads to switch out and the...
  • Sajay's Blog

    ServiceHosts & executing Operations from a crash/hang dump

    • 0 Comments
    Incase you are not sure of how to debug managed code with with a crash/hang dump, then you most likely need to read this first. Once you have SOS and mscordacwks(.net 3.5 and up)  loaded you first dump the heap to find out if you have any services...
  • Sajay's Blog

    How to optimize Message Copy using CreateBufferedCopy?

    • 0 Comments
    Problem Statement Some broker implementations require creating a copy the message forwarding it over to the backend. The broker also might slightly modify things like addressing headers etc. on the message for proper message routing within the DMZ. The...
  • Sajay's Blog

    Router Implementation – Message Forwarding – Copy/Pass through

    • 0 Comments
    For greater flexibility our router can be something like a pass through router. If we are just calling a backend service then we can use a generic contract to receive and forward messages to the back end service as shown below. Here we create a copy of...
  • Sajay's Blog

    Router Implementation – Strong Typed with Message Forwarding

    • 0 Comments
    I use the term broker and router very loosely here since they follow very similar guidelines as described here - WCF Broker Overview . Apologies for not being very rigid with these terms. I will dive into best practices of building a router by progressing...
  • Sajay's Blog

    WCF Broker Overview

    • 0 Comments
    A broker is usually a central point for message forwarding and pass-through for clients and backend services. There are many types of brokers that come into mind Security broker – Usually a gate check for incoming message which transitions from one security...
  • Sajay's Blog

    Fixed Ideologies and Message exchange patterns

    • 0 Comments
    I had never thought that I would actually write about a topic like this but sometimes you want to organize your thoughts and have an opinion on things. Being in the performance team for WCF has got me used to a plethora of message exchange patters which...
  • Sajay's Blog

    How to change the IdleTimeout/LeaseTimeout on NetTcpBinding?

    • 0 Comments
    To modify properties that are not exposed on the standard binding we can create a CustomBinding from the provided standard binding. We can then find the element required on the particular CustomBinding and tweak it. Another option would be to just hand...
  • Sajay's Blog

    Errorlevel and Findstr

    • 2 Comments
    ErrorLevel is not %ERRORLEVEL% . This is probably the first one you should read. Next is the usage of the ERRORLEVEL statement. http://support.microsoft.com/kb/69576 The following table shows the effect of statement when writing your batch scriipt...
  • Sajay's Blog

    Pipe your command or an output to the clipboard.

    • 0 Comments
    If you ever wanted to copy over a really long multiline dos command or output, what would you usually do? Copy it line by line (after enabling quick edit mode  of course) Pipe the output to a text file … Any other round about way ? You could just...
  • Sajay's Blog

    Powershell Script to create an MSMQ

    • 7 Comments
    Here is a script to quickly create and delete queues. This was based out of this post . Usage : CreateQueue.ps1 <-c,d> <queuename> <Y/N - Private> <user> <all:restricted Permission> [T:Transactional]
  • Sajay's Blog

    How to create a custom binding from a StandardBinding?

    • 0 Comments
    WCF gives a very rich set of standard bindings that you can use for your endpoints. However we might need to tweak properties that might not be exposed on the standard bindings. You can handcraft the whole binding or you can start with standard binding...
  • Sajay's Blog

    PDC09: Windows Workflow Foundation 4 from the Inside Out

    • 0 Comments
    Note: Cross posted from Sajay . Permalink
  • Sajay's Blog

    WCF vs Windows Web Services (WWS)

    • 0 Comments
    Note: Cross posted from Sajay . Permalink   Here was an interesting set of questions comparing WCF & WWS                 1) With .NET 4.0, are we going to see any...
Page 1 of 5 (114 items) 12345