|
>
 Wednesday, September 21, 2005
 Monday, September 12, 2005
 |
|
 |
|
|
|
|
|
We put on a 1 day seminar at UCSD Extension on Saturday for those interested in getting up to speed on the upcoming release of .NET 2.0. I'm posting a bunch of 2.0 samples here directly related to the topics we covered at the event.
Dave McCarter gave a great overview of the VS 2005 IDE and its productivity features. No code to share on that one, you have to be there to see it!
I presented a talk on VB.NET and C# language enhancements. Samples include a few new VB.NET samples:
Several C# samples that are posted on the IDesign site:
I also presented a talk on ClickOnce and Smart Clients...the code sample is better seen in “live demo“ but here's the finished product of what I demonstrated:
And to wrap things up, Scott Mitchell gave a great talk on ASP.NET 2.0...he did most of his demos live, but I told him I'd post some of my finished ASP.NET 2.0 samples here that were related to his talk...since I have them handy:
aspnet20samples.zip
For more IDesign samples go here:
http://www.idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid=8
Enjoy!
|
|
|
 |
|
 |
 Thursday, September 08, 2005
 |
|
 |
|
|
|
|
|
This blog looks very very boring...for now...but I can assure you I have a lot more personality inside...and it shows in my other endeavors more obviously such as Stuntmusician.
My point?
Well, some of you may know my brother is in a rock band, and I'm very proud of he, his band, and their music...so if you like hard core rock, they just pressed their second CD on a shoestring budget, the usual artists wage...recorded lead vocals (my brother, Paul) in 3 hours, no kidding!!! I happen to think they rock...
http://www.evildoersmusic.net
My second point?
In my “other“ world I'm trying to bring technology to the independent music scene, which I'm a great fan of...for obvious reasons (my brother)...so...I have been interviewing indie rock bands since January (well, sort of, we had a little break as I moved from Mondays to Stuntmusician)...and I just posted my latest interview with Killola, a rock band in LA - diverse, a bit racy for some, and yes there are some profanity so you might want to stay clear if you are the conservative type...this won't be for you...
Check out their interview here: http://www.stuntmusician.net
I have a lot of plans for this site...well...after I get the Indigo book finished...for now enjoy monthly indie rock interviews and some reviews that will get up there very soon...
and I will now return to slaving over the book...
|
|
|
 |
|
 |
 Wednesday, September 07, 2005
 |
|
 |
|
|
|
|
|
For all you dasBloggers out there...if you want to have nested blogs like I have here:
www.ucsdxcommunity.com
www.ucsdxcommunity.com/ASPNET
...you have to first configure the subdirectory as an IIS application, then remove the <httpModules> section of the web.config in the nested blog. Modules can only be loaded 1x per appdomain, and the nested blog is loaded into the same appdomain by default.
The funny thing is, the error message tells you that it can't load the module twice, so this is actually pretty obvious, but if you are like me, you may have seen this error and started looking for a “bigger“ problem (I always do that...dunno why) ...therefore I didn't pay attention to the error message 'literally“ at first.
|
|
|
 |
|
 |
 Monday, September 05, 2005
 |
|
 |
|
|
|
|
While I convert my samples from WSE 2.0 to WSE 3.0 I thought I might post a few blogs on notable issues you might face, while I'm thinking on it...
<securityTokenManager type="ImagingServices.MyUsernameTokenManager, ImagingServices" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" qname="wsse:UsernameToken" />
For example, creating a new example with the UsernameToken security token, based on the OASIS WS-Security standard, requires some minor adjustments to your web.config settings. Previously, when you configure a custom security token manager to handle <wsse:UsernameToken>, you would add the following <securityTokenManager> element:
Of course the namespace and qualified name of the OASIS WSS UsernameToken profile haven't changed, but the way ASP.NET 2.0 handles application assemblies has, along with the WSE 3.0 configuration schema.
First point: ASP.NET no longer has a single application assembly (DLL) for the application code. You can't count on a specifically named assembly like MyWSE30Service.DLL to be deployed to the \bin directory. In fact several assemblies are generated from the Web site source, and the assembly names are dynamically generated. So, you can't specify the name of the assembly in the type attribute of the <securityTokenManager> element, the custom token manager type is compiled with the ASP.NET application code. In this case the type attribute should only include the fully qualified type name with its full namespace. And, you'll be glad to know that when you sign the Web site application output assemblies, the setting remains the same.
For types that are compiled into a separate assembly, then referenced, the traditional format for the type attribute would be used. The fuly qualified namespace and assembly name are provided for unsigned assemblies. For signed assemblies provide the full assembly name which includes version, culture, and public key token.
Second point: there is a new namespace attribute, and qname has changed to localname...and they aren't the same thing. Qname refers to a fully qualified XML name which means namespace and local name. Now, the QName property of the SecurityTokenManager at runtime can be generated from the namespace and localname in configuration.
Third point: with WSE 3.0 you can configure more than one token manager for each type of security token manager (binary or XML). THis changes the configuration schema for <securityTokenManager> which now supports the traditional pattern of add, remove, clear - as discussed in the WSE 3.0 specification:
<securityTokenManager> <add localName namespace type /> <remove localName namespace /> <clear /> </securityTokenManager >
And so now your custom UsernameTokenManager should be configured like this:
Of course, you could just read through the WSE 3.0 documentation to find these things out...but I betcha browsed the Web first, so here ya go...
<securityTokenManager>
<add type="CustomUsernameTokenManager" namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" localName="UsernameToken" />
</securityTokenManager>
|
|
|
 |
|
 |
 Wednesday, August 31, 2005
 |
|
 |
|
|
|
|
|
The PDC is coming...in fact it is sold out! Not surprising with all of the new platforms and tools coming in the near term...
...and longer term...
...of course there is more...but my point is, PDC will help you keep up...just jam your day with your favorite sessions...and on that note, a few things yours truly is involved in:
- PDC TV - The Microsoft Regional Directors are coordinating another cool attendee activity like you have never seen in the past. More information on this coming soon, in a separate blog entry. In short, you can participate in the PDC like never before, and we can get it all on film :)
- PDC Underground - For those who can't attend the PDC, and those that can but still want to come to a great show, we are putting on a special event on Tuesday night where many of us Microsoft Regional Directors will show off some of the coolest features we appreciate in these upcoming releases
- Women in Technology Panel - I have participated in a few of these, and I always end up wishing I could have a sit down with my fellow panelists because they impress the heck out of me...this time...they are: Angela Mills, Microsoft; Anne Thomas Manes, Burton Group; Dee Dee Walsh, Microsoft; Kate Gregory, Gregory Consulting; Michele Leroux Bustamante, IDesign; Shoshanna Budzianowski, Microsoft. WOW! What an honor to be part of this crowd! If you have never attended this type of panel before, it is all about reaching success in IT, career mentoring, overcoming challenges...and really this is just as much for men as it is women because the discussions usually relate to all of us in this community. Come join us for lunch and discussions: 402AB from 11:45AM to 1PM on September 13th
Hope to see you there :)
|
|
|
 |
|
 |
 Monday, August 22, 2005
 |
|
 |
|
|
|
|
|
If you haven't tried this already, I have definitely saved you at least one hour, for the two I spent playing, toying, testing, and writing this little blog. The issue is when you want to combine formatting statements with binding activity. Of course the trusty Eval() function will allow us to provide a format statement:
<asp:Image id=Image2 width=200 height=200 BorderWidth=2 runat="server" ImageUrl='<%# Eval("url", "~/Photos/{0}") %>' ></asp:Image>
But what if I don't want to hard-code the path? What if I want to use AppSettings, for example? It really isn't so difficult, but it required a little playing around before I realized that I can literally use the binding statement for any code output, including the String.Format...and, within the context of the binding statement <%# ... %> I can use Container.DataItem to get at row values. This example pulls together AppSettings with row values to build the ImageUrl property:
<asp:Image id=Image2 width=200 height=200 BorderWidth=2 runat="server" ImageUrl='<%# String.Format("{0}{1}", System.Configuration.ConfigurationManager.AppSettings["PhotosDir"], ((System.Data.DataRowView)Container.DataItem)["url"])%>' ></asp:Image>
|
|
|
 |
|
 |
 |
|
 |
|
|
|
|
|
Sure, the syntax got easier. Instead of the cumbersome:
<%# DataBinder.Eval(Container.DataItem, "url") %>
We get to save some strokes and remove the entire confusion around “what the heck is Container.DataItem?“:
<%# Eval("url") %>
But, this isn't all its cracked up to be. Eval() STILL uses reflection to evaluate expressions, therefore for every bound column/row displayed in your ASP.NET pages, you are adding overhead, unnecessarily. Of course, what this really means is, just like with 1.1, you should be using explicit casts to cast Container.DataItem to its actual type:
<%# ((System.Data.DataRowView)Container.DataItem)["url"]) %>
Of course the trick is to know...you guessed it...what the heck is Container.DataItem??? A quick way to find this out for various objects you may choose to employ in binding, is to bind just to Container.DataItem as a test. In the attached example I bound the GridView control to the Web configuration sections:
Configuration webConfig = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSectionCollection webConfigSections = webConfig.Sections;
GridView1.DataSource = webConfigSections;
In the GridView declaration I included these labels in a template column:
<asp:Label ID="Label2" runat="server" Text='<%# Container.DataItem%>'></asp:Label>:
<asp:Label ID="Label3" runat="server" Text='<%# ((ConfigurationSection)Container.DataItem).SectionInformation.SectionName %>'></asp:Label>
Now you can consider yourself early bound. ConfigurationUtility.zip (60.58 KB)
|
|
|
 |
|
 |
 Saturday, August 20, 2005
 |
|
 |
|
|
|
|
|
I'm designing a new database for samples in my book, so I thought I would refresh my memory on stored procedure naming conventions. Wouldn't you know that my friend Adam Cogan's company down under shows up first in the list when I Google for stored procedure naming conventions? I stopped right there, perfect, his company's site - SSW - is full of great resources for database development. Thought I would share it here in case you hadn't seen the site:
Stored Procedure Naming Conventions and other DB Tips
|
|
|
 |
|
 |
|
|
ON THIS PAGE
|
|
|
|
SEARCH
|
|
|
|
CATEGORIES
|
|
|
|
ARCHIVES
|
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat | | 28 | 29 | 30 | 31 | 1 | 2 | 3 | | 4 | 5 | 6 | 7 | 8 | 9 | 10 | | 11 | 12 | 13 | 14 | 15 | 16 | 17 | | 18 | 19 | 20 | 21 | 22 | 23 | 24 | | 25 | 26 | 27 | 28 | 29 | 30 | 1 | | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|
|
BLOGROLL
|
|
|
|
|
 |
|