May 2006 - Posts

ASP.NET Podcast Show #54 - IIS7 with Brett, Thomas, and Chris
Wednesday, May 31, 2006 10:03 AM

The Wally podcast factory is back to its usual podcast producing frenzy. Here is a good one on IIS7.

Subscribe

Download

ASP.NET Podcast Site: http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2006/05/30/329.aspx

Show Notes:

by Glav | with no comments
Filed under: , ,
Vista Beta 2 finally loaded - like and dislike
Wednesday, May 31, 2006 12:40 AM

So I finally got Vista Beta2 loaded onto a separate partition on my laptop and am dual booting it and my original Windows XP. While I dont get all the 3D magic as my laptop graphics card isn't quite capable, it still looks a very sexy beast. The UI is very slick, and it feels quite different.

I will post a little more detail around my thoughts with some screen shots of various elements, but one of my immediate likes is the RSSFeed gadgets to display RSS feeds of my choosing on the gadget sidebar. Very cool and very handy. I wish  the gadgets themselves were resizaeble though. Especially the clock gadget.

One simple and minor dislike is that I haven't figured out how to display the space left on the disk in the explorer view without going and looking into the properties of that disk. In the old (XP) explorer, I simply enabled the status bar, and the disk space was displayed in that all the time (when I had the disk itself selected). Now, it doesn't and there seems to be a lot of wasted space down there. Probably just missed something but I figure this should be pretty easy.....

Oh, one more thing. I installed OneNote2007 as well which looks good so far, but would have liked a OneNOte gadget to also be installed (and a couple of Office gadgets as well when I installed Office2007) but alas, no extra gadget funkiness. An upcoming meetings gadget might be usefull for example....

by Glav | with no comments
Filed under: ,
Update to the Atlas Password Strength Extender control
Tuesday, May 30, 2006 10:21 PM

I have made some updates to my Atlas PasswordStrength Extender control that I mentioned previously, and that wax also mentioned by Scott Guthrie in a previous post. You can have a look at the control on a test page here (http://www.theglavs.com/ControlTestPage.aspx).

It includes an extra display type option of a 'BarIndicator' which basically displays a bar graph relative to the complexity of the entered password. I have also included some extra examples for the textual display and the ability to apply CSS styles to the display.

Check it out, let me know wat you think. As usual, its all still in testing, so usual caveats apply...

by Glav | 4 comment(s)
Filed under: ,
New Web Parts Book
Monday, May 29, 2006 1:53 PM

Darren Neimke, a good friend and fellow readify dude has written an awesome book on Web Parts (http://www.manning.com/neimke/).

Dont walk, run to the shops (or just click really fast), and get one of these books.

by Glav | with no comments
Filed under: ,
ASP.NET Podcast Show #53 - Atlas ListView and some Declarative Databinding
Wednesday, May 24, 2006 2:31 PM

Subscribe – Be like Wally (ok, maybe thats not the best idea)

 

Download

 

ASP.NET Podcast site: http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/archive/2006/05/22/319.aspx

 

Show Notes:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DeclarativeDatabinding.aspx.cs" Inherits="Databinding_Databinding" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

    <title>Declarative Databinding Page</title>

</head>

<body>

<form id="form1" runat="server">

<atlas:ScriptManager runat="server" ID="ScriptManager1" >

    <Services>

        <atlas:ServiceReference GenerateProxy=true Path="WebServiceProjects.asmx" />

    </Services>

</atlas:ScriptManager>

<input type="button" id="btnGetData" value="Get Project List" onclick="GetData()" />

<script language="javascript">

 

    function GetData()

    {

        WebServiceProjects.GetProjects(OnServiceComplete);

    }

 

    function OnServiceComplete(result)

    {

        debug.dump(result, "Returned data.");

        var projectName = $("ProjectResults");

        projectName.control.set_data(result);

    }

</script>

<div id="ProjectResults">

</div>

<div id="ProjectTemplate">

This is a list of all project in the table tblProject:<br />

<div id="ProjectItemTemplate">

    Project: <strong><span id="ProjectNameLabel"></span></strong>

</div>

</div>

</form>

<script type="text/xml-script">

<page xmlns:script="http://schemas.microsoft.com/xml-script/2005">

<components>

    <listView id="ProjectResults"

        itemTemplateParentElementId="ProjectTemplate" >

        <layoutTemplate>

            <template layoutElement="ProjectTemplate" />

        </layoutTemplate>

        <itemTemplate>

            <template layoutElement="ProjectItemTemplate">

                <label id="ProjectNameLabel">

                    <bindings>

                        <binding dataPath="ProjectName" property="text" />

                    </bindings>

                </label>

            </template>

        </itemTemplate>

    </listView>

</components>

</page>

</script>

</body>

</html>

by Glav | with no comments
Filed under:
Atlas PasswordStrength Display Extender control
Sunday, May 21, 2006 6:51 PM

I have been writing an Atlas Extender control using the Atlas control toolkit in my spare time lately, and I thought I'd share its progress with everyone so far. It's certainly not complete and is a bit raw, but it does display the strength of the password you are entering into a textbox interactively.

I mocked up a quick and dirty test page so you can have a look. Its here ( http://www.theglavs.com/ControlTestPage.aspx ). It shows the markup used to display the password strength on that page.

Note: Apologies for the ugliness of the page, but its only a test bed, so bear with me.

Any suggestions would be welcome but bear in mind, its early days with it, and I'll update it as I get time. I intend to provide other display types instead of just a texual dsplay, such as a bar inicator, perhaps some other graphical thingo. Opacity is always a crowd pleaser, I am sure I can find a cool way to utilise that in there somewhere. Not sure yet.

It will be provided with full source code once complete, and I think I'll provide a step by step tutorial on how its implemented too. I will say the Atlas control toolkit does make things a lot easier. Kudos to Shawn Burke and his team for a job well done.

Atlas Control Toolkit and the DefaultValue attribute
Saturday, May 20, 2006 11:05 PM

Suppose your working on a new extender control using the Atlas Control toolkit that has been released (and recently updated with some more controls).

When you create a new set of classes using the extender template, you get an ExtenderProperties class that represents the attributes/properties of your extender control. You can specify the properties that your extender uses, and you can specify a DefaultValue attribute to indicate what the default value of a particular property is. An example is shown below:

[DefaultValue("SomeValue")]
public string
SomeProperty
{
  get
  {
    return
GetPropertyStringValue("SomeProperty");
  }
  set
  {
    SetPropertyStringValue("SomeProperty",
value
);
  }
}

Now, I mistakenly thought that the DefaultValue attribute indicates that if no value is specified for this property, then the value of "SomeValue" will be used.

What it in fact indicates to the runtime, but does not set, is what the initial state of the property will be in when no value is specified. In effect, this tells the serializer that if the value of the property matches what is specified in the DefaultValue attribute, then dont bother serializing this as there is no need. Also, if no value for this property is set (in the markup for example), then obviously nothing will be serialized for this, but it implies that the setting of this property when nothing has been explicitly set will be done in the script portion of the control. Furthermore, the script portion will be setting the default value of the property, to what you have specified in the DefaultValue attribute.

The DefaultValue attribute does not set the value of this property, it is used to match against for the purposes of serialization.

So dont assume that the DefaultValue attribute will provide any default values for your properties. It is just an indicator as to what IS the default value, and your script code should provide the logic to implement this. The DefaultValue attribute will be used by the serializer for optimization purposes.

ASP.NET Podcast Show #52 - Its our Birthday and Wally talks about the Atlas Update Panel
Saturday, May 20, 2006 9:20 PM

Subscribe – Really the only way to do things.  Use Juice, iTunes, or something, but just SUBSCRIBE!

 Download – Snore and boring (you really out to subscribe)

 Show notes:

  • Its our first birthday.
  • Craig Shoemaker.
  • Simone Chiaretta.
  • Wally and Paul chew the fat.
  • Atlas Update Panel.

 

by Glav | with no comments
Performance testing with 10,000 concurrent users
Sunday, May 14, 2006 7:48 PM

Lately, I have been concentrating on performance testing within an application I am working on. This is using the Team test portion of Visual Studio. It certainly is a powerful tool and is exponentially  better than anything offered to date by Microsoft.

We have some requirements to ensure we hit around 5,000 concurrent users within this app, so pumping to 10,000 is a good way of ensuring that we can meet the goals and find any potential bottlenecks or issues.

Currently, I have all the test runs automated so that every night, a 10,000 concurrent user test is initiated that runs for approximately 12 hours. On a weekend, the automated test run, also tests using 10,000 concurrent users, but runs for approximaely 60 hours. The weekend test is identical to the overnight run except that it lasts longer, and has a slower ramp up to the 10,000 users.

Additionally, we have a web farm of 7 web servers, all connecting to a database server, and all these servers have a set of performance counters that are also scheduled to start and stop at the times of each test. These results get logged to a database, so that I can look through them the next day.

We are using a client machine farm of approximately 20 PC's all administered remotely through the Team test console, to generate the load of 10,000 concurrent users. Sometimes we use more if the machines are available. This is one of the cool aspects of team test, I can install the load agent on a large amount of machines and enlist only some of those machines by manually, or by specifying properties of each machine and only enlist the machines that contain a particular property or attribute.

I will digress into the details of the test rig setup and how I go about setting up the automation and collection of performance data on later posts. This is simply an initial post to paint the picture on what I am doing at the moment.

I will say the the ability to examine the test result data using the interactive graph capability within team test is awesome. The user interface is a little quirky and not entirely intuitive at times, but you get used to it.

ASP.NET Podcast Show #51 - Alabama Code Camp Rountable Discussion
Sunday, May 14, 2006 7:30 PM
Subscribe

Download

Show Notes:
More Posts Next page »

This Blog

Syndication