Recent posts

TechSessie over Visual Studio 2008 en C# 3.0 op 29 november en 4 december

Op de TechEd in Barcelona heeft Microsoft de afgelopen week aangekondigd dat de RTM versie van Visual Studio 2008 nog voor het einde van de maand beschikbaar komt. Het zal je dan ook niet verbazen dat er veel te horen en te zien was over alle nieuwe mogelijkheden en handigheidjes die Microsoft's belangrijkste ontwikkelomgeving te bieden heeft.

Wil jij ook weten wat Nested Master Pages zijn of hoe je met LINQ-to-SQL je database object-georienteerd kunt benaderen? Of wil je graag zien welke productiviteitsverbetering de ASP.NET designer je biedt? Kom dan op 29 november of 4 december naar de interactieve presentatie van Dennis. Hij zal je aan de hand van voorbeelden en demo's laten zien wat hij allemaal op de TechEd geleerd heeft.

Gewenste voorkennis
Kennis van C# 2.0 en Visual Studio 2005 is gewenst.

Over Dennis
Dennis is een software architect met 11 jaar ervaring waarvan de laatste 6 jaar vooral met de focus op .NET, architectuur en OO. De laatste twee jaar is Dennis (mede)verantwoordelijk geweest voor het ontwerpen, bouwen, en uitrollen van ontwikkelstraten gebaseerd op .NET 2.0 en 3.0 en de zo vaak genoemde DSL tools. Inmiddels maakt hij voornamelijk gebruik van de standaard software factories en applications blocks van Microsoft's Patterns & Practices groep. Dennis is sinds maart dit jaar tevens Expert Advisor voor Microsoft rondom de nieuwe Web Service Software Factory : Modeling Edition.

Aanvang
Om 18:00 uur staat de pizza klaar, om ca 18:45 start de sessie. De sessie duurt uiterlijk tot 21:00 uur.

Aanmelden & Lokatie & contactpersoon
Wil je deze sessie bijwonen laat het ons weten. Stuur je mail naar info@aviva-it.nl. Je krijgt dan een bevestiging van ons.

Aviva .Net Engineers, Roy Oude Weernink
Haagse Schouwweg 8
2332 KG  Leiden
071-5351730

Voor meer informatie over ons en de routebeschrijving kijk op onze website www.avivasolutions.nl


Published: 29-11-2007 by Dennis Doomen | 0 Comments | 0 Links to this post
 

Invalid postback or callback argument. Event validation is enabled using

Everseen the following error:
Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

 

Well our team has seen this error quite a few times the last two days. On every screen where we had a gridview with buttons that were databinded, it appeared after we pushed the button.

Situation:

We have a list of orders and when we push the delete button we want a order from the list to disappear from our datastore as well as our screen.

Pretty straight forward, our implementation however had some quirks which we thought we had resolved them by databinding the GridView everytime the control was being posted. So in every Page_load the gridview.databind(); was being called, this worked for us for the last couple of months. Last week however this stopped working, don't ask me why it just did.

Our solution:

Make sure that you only do a databind() on the gridview in the !Page.IsPostBack part of your page_load. This way your gridview has its datasource binded and wil keep the information in its viewstate.

Now when you press the button on your gridview

- Handle the event, ie Delete item from datastore

- Reset your datasource of the gridview to reflect the changes to your datastore

- Call DataBind() on your gridview.


Published: 23-11-2007 by Hans ter Wal | 0 Comments | 0 Links to this post
 

Visual Studio 2008 and the .NET Framework 3.5 has been released

I assume all of you know by now that Microsoft has released Visual Studio 2008 and the .NET Framework 3.5 to manufactoring. If you don't, you must be living in a cave or something. Nevertheless, if you want, you can download trial versions from here. If you have an MSDN Premium subscription, then you can download the full Team Suite edition directly from MSDN Subscriptions.

Since there have been so many different posts on this on the web, I've collected some of the more interesting ones right here.

  • If you still have beta 2 or a previous build installed, check out this post. It helps you uninstall any residual leftovers.
  • Daniel Moth is well-known for providing very detailed info on what's new in Visual Studio 2008 and the .NET Framework 3.5. He has been my primary source for learning the nitty gritty.
  • Although the Team Foundation Server version you can download from MSDN is a 90-day trial, it is safe to upgrade your existing servers. Upgrading to the retail version is just a matter of entering the appropriate license key. No reinstall necessary.
  • An important license change (one which my current customer will be very happy with), is that you don't need a Client Access Licence (CAL) if you only use TFS for tracking defects.
  • Brian Harry has blogged about planned upgrades for the TFS Power Tools and the TFS Web Access upgrades here. If you can't wait, the current CTP will work with the RTM version.
  • Jeff Beehler has compiled a comprehensive list of what's new in TFS 2008 over here.
  • The people responsible for the AJAX Control Toolkit have also releases a new version compatible with the final version of the .NET Framework. Download it from here.
  • The Visual Studio 2008 SDK has been shipped as well. Those who have been building custom DSL-based solutions, can now upgrade as well.
  • The plan is to port the Web Service Software Factory : Modeling Edition to Visual Studio 2008 and release it before the end of February 2008. However, Don Smith expects to have a CTP available before the end of the year, and maybe an alpha drop a bit earlier.
  • Glenn Block, the product planner for the Web Client Software Factory told me that they plan to have a version in the beginning of next year. There is an article though that should allow you to modify the factory manually, but I haven't tried that yet.

Published: 21-11-2007 by Dennis Doomen | 0 Comments | 0 Links to this post
 

Final day at the TechEd 2007: Web Client Software Factory, The Future, and Deep Reflection

Friday eventually arrived and marked the end of a fascinating week. The day started with Glenn Block (patterns & practices) explaining how you can use the Web Client Software Factory (WCSF) in conjunction with AJAX ASP.NET. What they've done for the October release of the WCSF is to include a new guidance package for creating an AJAX ASP.NET enabled project (Composite Web Application Block). This will include a couple of scenarios like Suggestion (basically an autocomplete extender like the one found in the AJAX Control Toolkit, but modified to use contextual information), Live Form (validating user supplied information on the fly using custom validators and a custom extender), PopUp (a custom extender displaying an inline overlay on your page). Pretty handy stuff.

Next up: Pat Helland (apparently some sort of god in the Microsoft world, I had no idea before this week who he was and that this is true) giving a very interesting view on things to come in the next ten years. His message basically was that because of the technology driven nature of our profession and the human drive to always to be connected, applications will get a lot more complicated. Key technology advancements are likely to be in multi-core processors (256 cores on one chip are probably going to be around 2015) and data storage (Flash drives will eventually replace harddisks, and they will turn replace tapes, growing to a 10 TB in size by the year 2010). This allows for complicated data integrity breaches, pushing us, developers, to develop and design patterns to solve these issues. Still, this is just one vision (or opinion if you like), but was very fascinating (and a bit scary as well) to try and comprehend the implications of these changes. You can find his slides here.

After lunch, another interesting session on Windows Communication Foundation (WCF) performance by Justin Smith. Focus was on commonly made mistakes, how to optimize your WCF services and tools for measuring performance. This was actually a repeated that Dennis saw earlier during the week, and deservedly so. The room was pretty small, and only eight other people were attending, which helped the interactivity of the session a lot.

Finally, the last session at the TechEd for me was about deep reflection by Roy Osherove. Me and Dennis met up with him during dinner on Wednesday night (again, I had no idea who he really was up to that point, only to find out that I've been reading his blog once in a while!) and I decided to attend his last session. He talked about how you can dramatically increase your reflection operations in .NET 2.0 and higher by using dynamic methods. Say you want to deep clone an object. Normally you would use reflection to get the object type and run through all its properties and copy the values into the new object. This is a very expensive operation to run (as you would know when you've used reflection before). He showed the audience how to do this another way by creating a dynamic method. You do so by adding a method to a type at runtime, and emit an extra function into the .dll and attach this to an existing type. But since we're doing it runtime, you need to create the IL (Intermediate Language) version of the function for this. It's a bit of a hassle, but it can worth it if your class type is very complex (object inheritance and property wise) and you need to clone a lot of objects. Very intriguing stuff. Roy is actually known for ending all his presentations with a song while playing the guitar. Quite funny to watch, and a nice way to finish the final session of the week.

To summarize, TechEd 2007 was pretty awesome: we've attended a lot of interesting and compelling sessions, met people you would normally not run into outside of the TechEd environment (such as David Platt, Shy Cohen, Tim Stevens, Roy Osherove to name a few). Both inside and outside the TechEd we've had great fun! Finally a word of gratitude to my bosses Mark and Bart for letting us go, and to Dennis for the excellent companionship during this whole week.


Published: 11-11-2007 by Arnold Jan van der Burg | 0 Comments | 0 Links to this post
 

TechEd 2007 Day 4: Domain Specific Languages (DSL), new ASP.NET features

Thursday, day 4 of the TechEd here in Barcelona, I woke up feeling pretty tired. I guess the strain of going to sessions all day - trying to suck up as much information as I can, and meeting new people at night- is finally getting to me. It still is an awesome and exhilarating experience to be here though. So what's been up today? First session of the day was about generating DSLs using the DSL Toolkit and Visual Studio 2008. If you have no clue about what DSLs are (like me ;-)), have a look at this wikipedia article. The DSL toolkit is a very impressive extension of Visual Studio, and will give you  graphic designer tools  to create your models and graphical user interface(s) for your specific DSL.

After that, saw a rather boring session about the new ASP.NET features that are going to be shipped with new .NET Framework 3.5. This doesn't impy that there will be complete new version of ASP.NET, merely that a lot of features are going to be added on top of the existing ASP.NET 2.0 framework. These new features include:  ‘Astoria’ data services (light-weight webservices), built-in AJAX support, Silverlight controls (such as the MediaPlayer control), Dynamic Data controls and the MVC (Model View Controller) framework (see Scott Guthrie's post for more info). Pretty cool stuff altogether, so it surprised me that the speaker was looking so bored on stage.

After lunch I decided to go a not so technical session by David Aiken about the top 10 mistakes developers make. No real surprises there, although he did show the Health Model tool (which isn't available yet, not even in CTP). That was quite interesting although he messed up this demo completely. After a break, went back to see a session about web application security. Quite ok, a couple of security breach scenarios were pretty predictable, but there were some nice demos with a couple of tools that come in pretty handy when you really need to tie things down (such as the Thread Modeling Tool, the patterns & practices Guidance Explorer, and the ACE XSS Detector (still in beta).

The session I was really looking forward to was about Commerce Server 2007 integration with Sharepoint 2007 and WPF representation of the catalog. This turned out to be a big disappointment and was by far the worst session I've attended so far. Not that the technical information was all that boring, it was just the way they presented it. They showed some work in progress on extending Commerce Server 2007 to integrate with Sharepoint 2007 (mainly webparts to present your catalog, products, shopping cart etc.) . If I can get any more information, I'll post it later on.

One more day to go...


Published: 09-11-2007 by Arnold Jan van der Burg | 0 Comments | 0 Links to this post
 

An awesome experience

Yesterday was my big day. I finally got a chance to present some of my experiences working with the P&P software factories and factories in general next to Mister Software Factory Don Smith and Mister Enterprise Library Olaf Conijn. In the morning I did actually attend a session (not worth mentioning), but I've used the remainder of the day to visit Don and Olaf's session on the Service Factory : Modeling Edition, and to prepare our big session in the afternoon. The original plan was to have only a maximum of 15 minutes of speaking time, but Don thought I would be much more interesting to actually be there for the entire session and adding my personal experiences to all his sheets! Well, that was risky but very cool.

 

While approaching the session start time, I became more nervous by the minute. But after I finally climbed on the stage, I started to feel more relaxed. We all thought that the session went great and the interaction between me and Don appeared to go smoothly. Unfortunately, the ratings did not entirely correspond to that feeling. The 500 attendees had some trouble coping with three speakers in one session and did not really like the demos. Apparently they were expecting more personal experiences and process related aspects of software factories (which we have a lot of to share). Ironically, the TechEd organisation urged us to have a lot of demos. Well...what the heck... it is not happening every day that somebody gets to have his first public tech talk at the auditorium of the European TechEd!!

My colleague Arnold Jan recorded the introduction on video. Check it out here (it's about 18 MB, so beware).


Published: 08-11-2007 by Dennis Doomen | 0 Comments | 0 Links to this post
 

Web Service Software Factory : Modeling Edition is live!

This must be the first time I've actually been a witness of a Microsoft product being released while sitting next to the guy who did it. So it's done! The final bits of the new Web Service Software Factory : Modeling Edition have been release by Don Smith, the product planner from P&P, right from the TechEd Barcelona 2007.

I've already tried it on our running project, and all models opened up properly. Apparently, no changes were made to the internal structure of the models. If you are still using the pre-CTP version, this post may help you convert your existing models to the CTP version.

I'll go through the issues and problems I have found in earlier versions and update the corresponding CodePlex items along with it.


Published: 08-11-2007 by Dennis Doomen | 0 Comments | 0 Links to this post
 

TechEd 2007 Day 3: More on AJAX ASP.NET, Silverlight, patterns & practices and...additional speakers!

After an early night yesterday, today started with a very interesting session by Stefan Schackow on building highly scalable ASP.NET 2.0 applications using asynchronous programming. What it basically boils down to, is that the ASP.NET thread pool only uses 12 threads per CPU. Say you have large website with approximately 200 pages and some of these pages are doing long running thread stuff, calls to these webpages could block requests waiting until the they have finished. By using asynchronous programming features provided by ASP.NET 2.0 such as the RegisterAsyncTask() method combined with the PageAsyncTask class, you can create asynchronous functionality fairly quickly. You can even decide to run these tasks in sequence or parallel to each other, but you have to be aware of any dependency between the tasks.

After that, another interesting, although technicallywise mindboggling session by Don Smith (patterns & practices) and Olaf Conijn on the new version of the Web Service Software Factory. It looks really cool, and is highly extenable without having to reach into the source code (Dennis is our main p&p guy, so he'll probably have more on this subject later on).

After lunch, there was another session on Silverlight (yes, it never ends this week) combined with AJAX ASP.NET, focusing on the consumption of web services. This is actually a bit misleading because it leads you to believe that you can consume external web services as well, which is not the case. By default you can only consume web services with AJAX ASP.NET that are on the same domain level. If you want to use cross-domain level web services, have a look at a 3-part real life demo on Nikhil Kothari's weblog. He uses a JSONP to workaround this.

And then.... it was time for my colleague Dennis to take the Auditorium stage at the TechEd 2007 talking with Don Smith and Olaf Conijn about how to build software factories. He was asked about two days ago by Don if would like to join the session because of his real-life experience with software factories, and of course he said yes. He was really nervous beforehand (which you would be when you know that the Auditorium can hold 4000! people). But Dennis did a great job, and I think it went down really well. Since I'm relatively new to all this stuff, I had a bit of a hard time keeping up, but it was very, very interesting. GAX (Guidance Automation Extensions)/GAT (Guidance Automation Toolkit) has been around for a while, but I never really used it so far.

Later on that afternoon, we sat down with Don and Olaf for a beer discussing their presentation and ended up having drinks at the Hilton and later on dinner with 12 people. It was great fun to watch all these nationalities (English, Finnish, Israeli, Dutch) sitting at one table talking about lots of (non)geeky stuff and having a great time. The perfect end of a rather special day!

Dennis Doomen @ TechEd 2007 Dennis Doomen @ TechEd 2007


Published: 08-11-2007 by Arnold Jan van der Burg | 0 Comments | 0 Links to this post
 

TechEd 2007 Day 2: LINQ to SQL, AJAX ASP.NET and more Silverlight

Today was the first full on day with sessions starting at 9  o'clock in the morning and continuing to six o'clock. First session for me was part two of the Visual Studio 2008 web application development, covering the new dynamic data controls for ASP.NET (ListView, LinqDataSource and DataPager controls), enhanced debugging for Javascript, and default AJAX ASP.NET support. I noticed today that almost every speaker doing a presentation about ASP.NET really emphasized on the fact that now the generated HTML for the webcontrols is a lot cleaner. Thank god for that!

Silverlight is a hot topic here at the TechEd, as is LINQ to SQL. Today's second session was all about the latter. Presented by Luca Bolognese with a full blooded Italian accent ('flaaauwers for a beautiful laidy'),  this was the best session of the day, although the demos were not very in-depth. But it still made a good impression, and LINQ to SQL definitely is a very powerful piece of tooling. There also was another Silverlight session today (one of my main subbjects this week, since I'm doing a presentation on it within a month for my co-workers). This was an in-depth session on Silverlight 1.1 Alpha again presented by Jesse Liberty. A lot more compelling than yesterday, although there were a couple of things shown that I didn't really like. For example, in 1.1 you finally have CLR support. Great! And you also have bi-directional access with the HTML Document Object Model. This is equally as good, because you can make the HTML and Silverlight control communicate with each other. There's a drawback though: the Silverlight control is able to connect to the HTML DOM and address an HTML control by using the GetElementByID method,  but not to the control collection within the ASP.NET page. This means that if you want to address a webcontrol you need to know its generated client ID. Not very difficult to do, but it would have been really nice to be able just to use the declared ID.

Final session of the day was about optimizing AJAX ASP.NET applications. Pretty interesting stuff, ranging from using the ConditionalUpdate on an UpdatePanelControl to leaving out UpdatePanelControls all together. This requires some extra plumbing, but has the benefit of avoiding reloading the page's control collection on every roundtrip (which is probably the most important argument of AJAX ASP.NET opposed developers).

Finally, since Dennis has already blogged about the beach birthday party (and admitted we didn't get back till four o'clock in the morning), a few pictures of that crazy night at the beach. Mind you, we DID go to the first session the next day, that was tough....

 

Birthday party Olaf ConijnBirthday party Olaf Conijn 2

Published: 07-11-2007 by Arnold Jan van der Burg | 0 Comments | 0 Links to this post
 

Day 2

Well, it was a very difficult morning indeed. Last night, we went to Olaf Conijn's party at the beach of Montgat and met with him, his twin sister Judith and Don Smith, Product Manager of P&P. Each of us brought some drinks and snacks and we had a great time talking about lots of useless stuff. I think I went to bed between 4:00 and 4:30 in the morning.

But, here we are, at the first session of the day presented by Simon Guest. As was promised in his summary, I was expecting a kind of framework that should help architects defining a system that better suits their customer's needs. But even though he is a reasonable speaker, his presentation was a bit of an open book. Nevertheless, he did show us a nice tool that helps choosing between the many technologies Microsoft has to offer. By adjusting sliders representing aspects such as the amount of interaction needed, required performance, offline/online dependency et al, it shows you the best combination possible.

The second show of the day was hosted by Luca Bolognese, the Product Lead for LINQ, which was suffering from an extremely heavy Italian accent (or pretending to have one). He presented us with a great code-only demonstration of LINQ-to-SQL, the types of LINQ queries available, and the resulting SQL queries executed. Quite powerful indeed. I think there must have been over 2000 attendees, but he didn't seem to bother at all.

The fourth presentation was much more interesting. Shanku Niyogi (Microsoft) demonstrated the new ASP.NET MVC Framework and a whole bunch of new dynamic controls. These dynamic controls allow you to build a data-intensive web site using simple page templates for lists, details, edit, etc. They basically created what many IT shops have been creating themselves. The first CTP of it will be available soon.

The formal part of the day was completed with a presentation on ASP.NET AJAX. Since most of this stuff is already available on www.asp.net/ajax I didn't pay a lot of attention there. Obviously, the lack of sleep was not really helping either.

In the evening, I had diner with Don and Olaf to discuss the contents and the slides of our presentation on Wednesday. We had lots of discussions on what may work and what may not, especially because there will be three people on the stage. Olaf will do the demos, Don will guide the audience through the slides, and I will try to provide comments and additions from my own experiences. The presentation will be held at the auditorium so it is well possible that we will be talking to 1000-2000 people! Hmmm, I need to get a decent sleep to relax now...


Published: 07-11-2007 by Dennis Doomen | 0 Comments | 0 Links to this post
 
 Next >>