Chrome 27 Dev Tools

Enable these Experiments

WARNING: These experiments could be dangerous and may require restart.
Snippets support
Native memory profiling
Live native memory chart
Native memory timeline
FileSystem inspection
Canvas inspection
Support for Sass
Use CodeMirror editor
CSS Regions Support
Show Overrides in drawer
File system folders in Sources Panel
Show whitespace characters in editor
Enable smart braces in text editor

Chrome Extensions Settings AND Shortcuts

1. KeySharky (Not Synced)

Volume Up : CTRL + ALT + S

Volume Down : CTRL + ALT + X
Mute : CTRL + Z
Next song: CTRL + ALT + C
Previous song :CTRL + ALT + z
Pause : CTRL + ALT + SPACE

2. Speed Dial 2 (Not Synced)

Google Bookmark : ALT + D




3. Chrome Shortcuts (SYNCED)

Chrome Bookmark : CTRL + D

Chrome Bookmark Bar : CTRL + SHIFT + O

4. Extensions Launch Shortcuts 

iLove Google Tasks (not by Google) : CTRL + B

Grooveshark Control : CTRL + G

Evernote Web Clipper : CTRL + E


To distinguish between incoming request to the facade and the new outgoing request made from it

To distinguish between incoming request to the facade and the new outgoing request made from it

Our aim in TUIT is to take the header from the incoming request ( both WCF and ASMX call) and to add it to the next outgoing request from the Facade.

AIM : to add http header to the outgoing WCF call using Soap Extension

Did this simply by :

CLient Side :

HttpRequestMessageProperty httpRequestMessage;
                object httpRequestMessageObject;
                if (request.Properties.TryGetValue(HttpRequestMessageProperty.Name, out httpRequestMessageObject))
                {
                    httpRequestMessage = httpRequestMessageObject as HttpRequestMessageProperty;
                    if (string.IsNullOrEmpty(httpRequestMessage.Headers[“X-MS-UNIQUE-ID”]))
                    {
                        httpRequestMessage.Headers[“X-MS-UNIQUE-ID”] = metadata.GetCSBId();  
                    }
                }
                else
                {
                    httpRequestMessage = new HttpRequestMessageProperty();
                    httpRequestMessage.Headers.Add(“X-MS-UNIQUE-ID”, metadata.GetCSBId());
                    request.Properties.Add(HttpRequestMessageProperty.Name, httpRequestMessage);

                }

                if (tuitLog.ShouldLog(TraceEventType.Verbose))
                    tuitLog.Verbose(“BeforeSendRequest : Added http header X-MS-UNIQUE-ID =” + httpRequestMessage.Headers[“X-MS-UNIQUE-ID”]);

And on the Server Side read as :

                    string myHeader;
                    object prop;
                    if (!OperationContext.Current.IncomingMessageProperties.TryGetValue(HttpRequestMessageProperty.Name, out prop))
                    {
                        myHeader = “Cannot read header from request”;
                    }
                    else
                    {
                        HttpRequestMessageProperty reqProp = (HttpRequestMessageProperty)prop;
                        myHeader = reqProp.Headers[“X-MS-UNIQUE-ID”];
                    }
                    if (tuitLog.ShouldLog(TraceEventType.Verbose))
                        tuitLog.Verbose(“AfterReceiveRequest : Got http header = ” + myHeader);

AIM : to add http header to the outgoing asmx call using Soap Extension

Tried and failed :

1.  HttpContext.Current.Request.Headers.Add(“X-MyHeader”, “xyz”); in  case SoapMessageStage.AfterSerialize: of csbsoapExtension

2.    HttpContext.Current.Request.Headers.Set(“X-MyHeader3”, “xyz3”);

Now the issue is that i’m not sure this is working or not as while debugging these statements are not being hit only…….so maybe i’m not runnnig this build

Searched :

1. how to add http headers in soapextension

one of the solutions was :

HttpWebRequest request
    = (HttpWebRequest)HttpWebRequest.Create(“http://localhost/Svc.asmx”);
//…Code Omitted…
request.Headers.Add(“SOAPAction”, “http://mynamespace/MethodName”)

http://haacked.com/archive/2004/07/23/tranforming-xml-over-http-to-soap-with-a-soap-extension.aspx

Then searched : how to access HttpWebRequest in soapextension

1. how to distinguish between different incoming and outgoing http request from the service : No Luck

2. what is httpcontext
HttpContext.Current returns an IPrincipal object that represents security context of the current user.
The HttpContext object contains access to many other helpful items, such as the Server object that provides the ability to map paths to physical and other paths. There is much more than user information.
It is the true Context of the HTTP request as it currently stands. This has request, response, and other objects available as well.

Log4Net

Log4Net

This is the easiest way to do logging in .net

Simply give the config for it in the app config :

<configSections>
<section name=”log4net” type=”log4net.Config.Log4NetConfigurationSectionHandler, log4net”/>
</configSections>
<!– Log4Net Configuration Section –>
<log4net debug=”true”>
<!– Custom Logger –>
<logger name=”xyz”>
<level value=”INFO” />
<appender-ref ref=”RollingLogFileAppender” />
</logger>
<!– Custom Appender –>
<appender name=”RollingLogFileAppender” type=”log4net.Appender.RollingFileAppender”>
<file value=”${folder in c:}\\child\\abc.log”/>
<filter type=”log4net.Filter.LoggerMatchFilter”>
<loggerToMatch value=”xyz” />
</filter>
<filter type=”log4net.Filter.DenyAllFilter” />
<appendToFile value=”true”/>
<rollingStyle value=”Size”/>
<maxSizeRollBackups value=”10″/>
<maximumFileSize value=”5MB”/>
<staticLogFileName value=”true”/>
<layout type=”log4net.Layout.PatternLayout”>
<conversionPattern value=”%date [%thread] %-5level (%file : %line) – %message%newline”/>
</layout>
</appender>

Now write your custom logger :
private void xyz(string logMessage)
        {
            if (control1.InvokeRequired)
            {
               
                    control1.BeginInvoke(new UIControlInvoker( // In case some other thread needs to access the UI control1 (which is always in UI Thread), it needs to do it this way
                        delegate { control1.Text += logMessage + System.Environment.NewLine; }));
            }

else
{
control1.Text += logMessage + System.Environment.NewLine;
}
        }


Also another way of logging is :

using log4net;

internal static readonly ILog mylog = LogManager.GetLogger(“xyz”);
        public static ILog MyLog()
        {
            if (mylog != null)
                return mylog;

            return null;
        }

Now simply use the default methods of the public interface ILog : ILoggerWrapper of using log4net.Core;

to start logging

Eg.

if (MyLog().IsInfoEnabled)
            {
                MyLog().Info(“testing info logging”);
            }