Tag Archives: ASP.NET

Using DiffMerge with Visual Studio

I won’t take credit for this, but it is necessary if you ask me. The TFS merge tool is awful. I am posting the link below for the credit.

http://statestreetgang.net/post/2008/01/Using-DiffMerge-with-Visual-Studio-and-Team-Foundation-Server-client.aspx

Go to Tools, Options, Source Control, Visual Studio Team Foundation Server, Configure User Tools, and Add.

From there it is pretty intuitive.

Important excerpt:

The above just shows the simple configuration for comparing files.  It doesn’t show how to configure DiffMerge as your merge tool.

First, the above arguments work, however the documentation says to use the following arguments when setting up DiffMerge for comparing:  /t1=%6 /t2=%7 %1 %2

To configure for merge, Add a new setting (step 3), repeat step 4, select Merge in Operation, repeat step 5, and use the following command line:  /m /r=%4 /t1=%7 /t2=%8 /t3=%6 /c=%9 %2 %3 %1


Issues integrating AXIS Web Services with .NET

I have been integrating with ITIM 5.0 using the unsupported Web Services that use AXIS 1.3. All of the issues I have experienced were fixed in 1.4, and seeing as the product is over 5 years old, I don’t understand why they chose to stick with an older version. There are several issues I have found besides the well published one about how AXIS represents arrays by pointing to a centralized value store. One of those issues is namespacing. AXIS tends to generate WSDL with a namespace, but the return values do not have a namespace, .NET just fails to find the value during deserialization. It took me forever to find out why, but I solved it by manually removing the namespace requirement from the proxy code. The second issue I ran into was how the WSDL represents collections of items. The collection is named SomeCollection with the items underneath being named Item. When the service returns, the items are named the same as the collection (SomeCollection contains SomeCollection(s)). I had to manually rename all of these references in the proxy to be the same as the collection. These cost me countless hours. If I find anymore I will post them here. Obviously the solution is to upgrade to 1.4, but IBM won’t support it or turn over the source code to do so.


A real JavaScript and CSS include method

After being displeased with the lack of a real JavaScript include method, and the complete absence of a CSS include method in ASP.NET, I started putting this into all of my BasePage classes. It uses Page Context to protect itself from double entries.

        protected void RegisterJavaScriptInclude(string path)
        {
            if (!Context.Items.Contains(path))
            {
                HtmlGenericControl js;
                js = new HtmlGenericControl();
                js.TagName = "script";
                js.Attributes.Add("type", "text/javascript");
                js.Attributes.Add("src", path);
                Page.Header.Controls.Add(js);
                Context.Items.Add(path, "JSINCLUDE");
            }
        }

        protected void RegisterCssInclude(string path)
        {
            if (!Context.Items.Contains(path))
            {
                HtmlGenericControl css;
                css = new HtmlGenericControl();
                css.TagName = "link";
                css.Attributes.Add("rel", "stylesheet");
                css.Attributes.Add("type", "text/css");
                css.Attributes.Add("href", path);
                Page.Header.Controls.Add(css);
                Context.Items.Add(path, "CSSINCLUDE");
            }
        }