Welcome to MSDN Blogs Sign in | Join | Help

MADHU@MICROSOFT BLOG

All About Distributed apps

Syndication

News

Madhu Ponduru works at Microsoft. Everything here, though, is his personal opinion and is not read or approved by Microsoft before it is posted. No warranties or other guarantees will be offered as to the quality of the opinions or anything else offered here.
Troubleshooting Production ASP.NET Apps

 

 // Since IIS is main hosting platform for WCF apps, we need to know, How to debug IIS issues also

Troubleshooting Production ASP.NET Apps
http://www.asp.net/learn/iis-videos/video-6148.aspx


Failed request tracing

http://channel9.msdn.com/posts/dunnry/Failed-Request-Tracing-on-IIS7/


Log Parser(How to analyze IIS log files)

http://www.microsoft.com/emea/spotlight/sessionh.aspx?videoid=265


http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032263723&EventCategory=3&culture=en-US&CountryCode=US


Windows Sysinternals tools

http://technet.microsoft.com/en-us/sysinternals/default.aspx


Internet Information Services (IIS) 6.0 Resource Kit Tools

http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en

ASP.NET Hosting Tutorials

http://www.asp.net/learn/hosting/

IIS for ASP.NET

http://www.asp.net/learn/iis-videos/


webdeployment tool

http://www.iis.net/extensions/WebDeploymentTool
http://channel9.msdn.com/pdc2008/ES15/


More info:

IIS.NET
http://www.iis.net/

Mark's Webcasts
http://technet.microsoft.com/en-us/sysinternals/bb963887.aspx

Tess debug blog

http://blogs.msdn.com/tess/

NT debugging

http://blogs.msdn.com/ntdebugging/

Troubleshoot IIS7 errors like a pro
http://mvolo.com/blogs/serverside/archive/2007/07/26/Troubleshoot-IIS7-errors-like-a-pro.aspx

Using Visual Studio 2008 with IIS 7.0
http://learn.iis.net/page.aspx/387/using-visual-studio-2008-with-iis-70/


Top 10 Performance Improvements in IIS 7.0

http://technet.microsoft.com/en-us/magazine/2008.09.iis.aspx

IIS 7.0: Enhance Your Apps with the Integrated ...
http://msdn.microsoft.com/en-us/magazine/cc135973.aspx


Build Web Server Solutions with End-To-End Extensibility
http://msdn.microsoft.com/en-us/magazine/cc164241.aspx

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

Visual Studio 2010 and .NET Framework 4 Beta 2

Visual Studio 2010 and .NET Framework 4 Beta 2 available for customers, Please check following link to install Visual Studio 2010 and .NET Framework 4 Beta 2, If you have any feedback about WCF/WF 4.0, Please let me know

http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

Windows 7: Videos & Tours


Windows 7: Videos & Tours

http://www.microsoft.com/windows/windows-7/videos-tours.aspx

 

Windows Live Essentials
http://www.microsoft.com/windows/windows-7/features/windows-live-essentials.aspx

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

WORKFLOW TRACE IN e2e format

<configuration>
  <system.diagnostics>
    <switches>
      <add name="System.Workflow LogToTraceListeners" value="1" />
      <add name="System.Workflow.Runtime" value="All" />
      <add name="System.Workflow.Runtime.Hosting" value="All" />
      <add name="System.Workflow.Runtime.Tracking" value="All" />
      <add name="System.Workflow.Activities" value="All" />
      <add name="System.Workflow.Activities.Rules" value="All" />
    </switches>

    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="customListener"
       type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
       initializeData="WFTrace.e2e" traceOutputOptions="Callstack,LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

 

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

Review: Windows 7 Is Microsoft's Best Operating System Ever

 

 WALTER S. MOSSBERG Review

http://online.wsj.com/article/SB10001424052748703298004574459293141191728.html?mod

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

How to change MetadataExchangeClient reader quota values

            CustomBinding mexBinding = new CustomBinding(MetadataExchangeBindings.CreateMexHttpBinding());
           
            for (int i = 0; i < mexBinding.Elements.Count; i++)
            {

                HttpTransportBindingElement transport = mexBinding.Elements[i] as HttpTransportBindingElement;
                if (transport != null)
                {
                    transport.MaxReceivedMessageSize = int.MaxValue;
                   
                }
                TextMessageEncodingBindingElement textMEBE =

                    mexBinding.Elements[i] as TextMessageEncodingBindingElement;
              

                if (textMEBE != null)
                {

                    textMEBE.ReaderQuotas.MaxArrayLength = textMEBE.ReaderQuotas.MaxBytesPerRead =

                        textMEBE.ReaderQuotas.MaxDepth = textMEBE.ReaderQuotas.MaxNameTableCharCount =

                        textMEBE.ReaderQuotas.MaxStringContentLength = int.MaxValue;

                }

            }

            MetadataExchangeClient mexClient = new MetadataExchangeClient(mexBinding);

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

WCF Contract First tool

If you are very interested about contract first development, You can use this tool, If this tool is not meeting any of your contract first needs, please let me know

 Web Services Contract First tool.

http://wscfblue.codeplex.com/

 

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

SMSvcHost.exe TRACE(NET TCP PORT SHARING SERVICE)

 If you see any problem with NET TCP Service, You can use following config to debug NET TCP problems

On 64 bit machines, you have to add this info to C:\WINDOWS\Microsoft.NET\Framework64\v3.0\Windows Communication Foundation\SMSvcHost.exe.config

On 32 bit machines, you have to add this info to C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMSvcHost.exe.config

<?xml version="1.0" encoding="utf-8"?>
<!-- The configuration file for SMSvcHost.exe -->
<configuration>
    <runtime>
        <gcConcurrent enabled="false" />
        <generatePublisherEvidence enabled="false" />
    </runtime>
    <!-- Below are some sample config settings:   
    <system.serviceModel.activation>
        <net.tcp listenBacklog="10" maxPendingConnections="100" maxPendingAccepts="2" receiveTimeout="00:00:10" teredoEnabled="false">
            <allowAccounts>
                // LocalSystem account
                <add securityIdentifier="S-1-5-18"/>

                // LocalService account
                <add securityIdentifier="S-1-5-19"/>
               
                // Administrators account
                <add securityIdentifier="S-1-5-20"/>
               
                // Network Service account
                <add securityIdentifier="S-1-5-32-544" />
               
                // IIS_IUSRS account (Vista only)
                <add securityIdentifier="S-1-5-32-568"/>
            </allowAccounts>
        </net.tcp>
        <net.pipe maxPendingConnections="100" maxPendingAccepts="2" receiveTimeout="00:00:10">
            <allowAccounts>
                // LocalSystem account
                <add securityIdentifier="S-1-5-18"/>

                // LocalService account
                <add securityIdentifier="S-1-5-19"/>
               
                // Administrators account
                <add securityIdentifier="S-1-5-20"/>
               
                // Network Service account
                <add securityIdentifier="S-1-5-32-544" />
               
                // IIS_IUSRS account (Vista only)
                <add securityIdentifier="S-1-5-32-568"/>
            </allowAccounts>
        </net.pipe>
        <diagnostics performanceCountersEnabled="true" />
    </system.serviceModel.activation>
    -->

  <system.diagnostics>
    <sources>
      <source name="SMSvcHost" switchValue="Verbose">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" />
          </add>
          <add name="xml">
            <filter type="" />
          </add>
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging" switchValue="Verbose,ActivityTracing">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" />
          </add>
          <add name="ServiceModelMessageLoggingListener">
            <filter type="" />
          </add>
        </listeners>
      </source>
      <source name="System.ServiceModel" switchValue="Verbose,ActivityTracing"
        propagateActivity="true">
        <listeners>
          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
            <filter type="" />
          </add>
          <add name="ServiceModelTraceListener">
            <filter type="" />
          </add>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="C:\customers\smsvchost.e2e" type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        name="xml" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack">
        <filter type="" />
      </add>
      <add initializeData="C:\customers\SMSvcHost_messages.svclog"
        type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        name="ServiceModelMessageLoggingListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack">
        <filter type="" />
      </add>
      <add initializeData="C:\customers\SMSvcHost_tracelog.svclog"
        type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        name="ServiceModelTraceListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack">
        <filter type="" />
      </add>
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

  <system.serviceModel>
    <diagnostics>
      <messageLogging logEntireMessage="true" logMalformedMessages="true"
        logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
    </diagnostics>
  </system.serviceModel>
</configuration>

 

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

What's new in WF/WCF 4.0

http://channel9.msdn.com/posts/matthijs/Whats-new-in-WFWCF-40/

http://channel9.msdn.com/tags/WF4/

 

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

Attachment(s): 32.zip

WCF/WF 4.0 Resources

 

VS 2010 and .NET Framework 4.0 Beta 1 now available for public download

 

http://blogs.msdn.com/kavitak/archive/2009/05/20/vs-2010-and-net-framework-4-0-beta-1-now-available-for-public-download.aspx

 

 

WCF and WF .NET Framework 4.0 Beta1 Training Kit

 

http://blogs.msdn.com/kavitak/archive/2009/05/19/wcf-and-wf-net-framework-4-0-beta1-training-kit.aspx

 

 

WF 4 Migration Guidance now live on MSDN

 

http://blogs.msdn.com/kavitak/archive/2009/06/05/wf-4-migration-guidance-now-live-on-msdn.aspx

 

 

NetFx 4 Beta 1 Resources

 

http://blogs.msdn.com/drnick/archive/2009/05/21/netfx-4-beta-1-resources.aspx

 

 

 

WCF resources on channel 9

 

http://channel9.msdn.com/tags/WCF/

 

 

Visual Studio 2010 and .NET Framework 4 Beta 1 Walkthroughs

 

http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx

 

 

http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx

by madhu_ponduru@hotmail.com | 0 Comments

Filed under:

PDC 2008 WEBCAST (WCF/WF)

WF 4.0

http://channel9.msdn.com/tags/pdc2008.wf/

 WCF 4.0

http://channel9.msdn.com/tags/pdc2008.wcf/

 

PDC 2008 links

http://channel9.msdn.com/pdc2008/

https://sessions.microsoftpdc.com/public/timeline.aspx

 

 

by madhu_ponduru@hotmail.com | 1 Comments

Filed under: ,

SAMPLE WF CONFIG FOR NLB SCENARIO

If you are deploying your workflow application to multiple machines(NLB scenario) and all these machines are using same database for persistence , you need to use following  config

(1)OwnershipTimeoutSeconds should be very high value ,so other hosts can't  load these workflows

(2)Disable auto unload

SAMPLE WORKFLOW CONFIG: 

<WorkflowRuntime Name="WorkflowServiceContainer">

<CommonParameters>

<add name="ConnectionString" value="Initial Catalog=SHARED;Data Source=localhost;Integrated Security=SSPI;"/>

</CommonParameters>

<Services>

<add type="System.Workflow.Runtime.Hosting.ManualWorkflowSchedulerService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

<add type="System.Workflow.Activities.ExternalDataExchangeService, System.Workflow.Activities, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" ConfigurationSection="ExternalDataExchange"/>

<add type="System.Workflow.Runtime.Hosting.SqlWorkflowPersistenceService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" UnloadOnIdle="false" OwnershipTimeoutSeconds="5000" LoadIntervalSeconds="0" />

<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowCommitWorkBatchService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

<add type="System.Workflow.Runtime.Tracking.SqlTrackingService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" IsTransactional="false"/>

</Services>

</WorkflowRuntime>

 

AFTER WE ARE DONE WITH WORKFLOW, WE CAN CALL THIS METHOD TO UNLOAD WORKFLOW MANUALLY:

 

StateMachineWorkflowInstance stateInstance = new StateMachineWorkflowInstance(Application["WorkflowRuntime"] as WorkflowRuntime, instanceId);

stateInstance.WorkflowInstance.Unload();

 

 

by madhu_ponduru@hotmail.com | 2 Comments

Filed under:

Workflow Designer and performance

 // we improved WF designer performance in .NET 3.5 sp1 , After .NET 3.5 sp1 also, you may see some designer performance problems, you can follow these guide lines to increase WF designer performance

Commonly reported issues

 

1. Time taken to open a workflow document is long.

2. Opening Activity bind dialog is slow.

Reasons for slow down

 

The Workflow designer relies on parsing the source code in the current project to provide updated design information in workflow design surface, rules dialog intellisense etc. This is mainly to enable scenarios where picking up changes from the source even before the project has been rebuilt.

Tips to make designer perform better

1. Move all types used in workflows to a different project than where the workflows live.

 

Move interfaces, event types, custom activities, helper classes to a different project than in which the workflow resides. E.g. in the solution from a customer, there were about 10 project, with 10 workflows each and 10 associated event types. These types are all reparsed to update to build the design time type information every time the user changes workflows in the project. Moving these to a different assembly e.g  just one project with all the types needed for the 10 workflow projects will help improve performance.

 

2. Reduce the number of workflows in a project.

 

Each workflow is a type ( directly in c#/vb, and indirectly in xoml case) that needs a design time type to be built by parsing, so if there are 10 workfows in a project, opening any workflow in the project for the first time means parsing all the other workflows as well.  Classifying these workflows based on their function and grouping them in 2-3 workflows per project improved performance drastically.

 

3. Re-Factor large state machine workflows into smaller workflows

 

One example we found from a customer had 780 states and 1000 activity binds in the same workflow, leading to a InitializeComponent() of about 16000 lines. Factoring this state machine into smaller reusable workflows will  making designer performance much better, and reduce a lot of redundant states.

 

4. Don’t do long running work in activity constructors

 

Activity constructors are called during design time also, so doing things like connecting to a database etc should never be done in constructors, this can make the designer take too long to open workflow documents using these activities.

REFERENCE:

 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3808068&SiteID=1

 

 

by madhu_ponduru@hotmail.com | 1 Comments

Filed under:

What is Oslo?

http://www.pluralsight.com/community/blogs/dbox/archive/2008/09/06/oslo.aspx

http://douglaspurdy.com/2008/09/06/what-is-oslo/

http://blogs.msdn.com/shycohen/archive/2008/09/08/oslo-and-models.aspx

 

 

by madhu_ponduru@hotmail.com | 1 Comments

Filed under:

.NET 3.5 SP1 /Visual Studio 2008 Service Pack 1 available to customers

Microsoft .NET Framework 3.5 Service Pack 1

http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&displaylang=en

 Microsoft Visual Studio 2008 Service Pack 1 (exe)

http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en

by madhu_ponduru@hotmail.com | 1 Comments

Filed under: ,

More Posts Next page »
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement  
Page view tracker