Welcome to Jacksonville Developers User Group Sign in | Join | Help

First 2008 Gold Sponsor

I would like to take this internet moment to thank Jacksonville's Code Camp 2008 first gold sponsor, TEK Systems.  It is reassuring to be reminded that a premier technology staffing company with a major presence in the local job market is willing to support the Jacksonville developer community.  Support in the way that the Jacksonville Code Camp 2008 needs the most; cash.

Would you like to contribute to Jacksonville Code Camp 2008?  There are varying levels of contribution available.  Visit http://www.jaxcodecamp.com/Sponsors.aspx to find out more.

Better yet, have you and your team registered to attend Jacksonville's Code Camp 2008?  With the generosity of our sponsors it's a free event.  Visit http://www.jaxcodecamp.com/Register.aspx to sign up today!

posted by tbates | 0 Comments
Filed Under: ,

May 8th - A look ahead


This is a real late thank you. Thanks to Dylan Phillips for coming out to the JaxDUG ASP.NET SIG meeting. He did a presentation on “Adding Mapping Services to your Application”. He discussed pros and cons of utilizing Google Maps or Microsoft’s Virtual Earth. It was a twist on the all too familiar CRUD apps we are all used to dealing with.

For those that were looking forward to the presentation on ASP.NET Profiles by Jonathan Bates, I am working on getting a commitment from him to present at the May 8th meeting.

You can store any object type in Profiles; information that is specific to the identity of a user but does not drive authentication nor authorization. The Profiles feature in ASP.NET does have a place in modern business web development. Customers nowadays respond well to a website that remembers them and personalizes their experience whether it be favorite colors, preferred shipping or billing information, which news sites to aggregate, which city to show weather for, or which stocks to show the up-to-date prices for.

Still on the look out for another May presenter. Some of the attendees have been showing real interest in AJAX related topics. Can you do a 45 minute presentation on AJAX (whether it is intro or advanced)? If so, let me know.

Even if you do not wish to present, let me know what AJAX topic you would like to see discussed. I will be sure to pass that information on to the next presenter.

posted by tbates | 0 Comments

ASP.NET SIG Advertisement

Jacksonville Developer's User Group
April 2008 ASP.NET Special Interest Group Meeting

The next meeting is going to be 04/10/2008. We will be having two local speakers presenting (Dylan Phillips & Jonathan Bates). Go here for more on the presentation topics.


I am putting another call out for speakers for the May 8th ASP.NET SIG meeting. Is there a topic you can speak on? No idea is too small. Or is there a topic you would like to see discussed? Even if you prefer not to be the one speaking, but you do know what you like to see presented, I might be able to find an individual qualified to speak on that topic.


Voice your opinion.
posted by tbates | 0 Comments

02/14/2008 ASP.NET SIG Wrap-up

Another ASP.NET SIG meeting down the drain.

 

Seriously, a good meeting served with an attentive audience on the side and engaging conversation to wrap it all up for dessert.  In the February meeting, we took a step back from AJAX to cover some common and often overlooked features of the ASP.NET Data and Data-Bound Controls.  Specifically we addressed the ObjectDataSource control.  The discussion ranged from the ease of implementation, to design patterns, and gotchas for some of the controls.

 

Fast forward to March 14th, Eugene Chuvyrov will be providing a Silverlight demo of some sort.  I will get more details as to the specifics of that presentation.  The ASP.NET SIG is still seeking another presenter that could be used to pair with Eugene’s presentation.  If you have a topic you would like to present, let me know.

posted by tbates | 0 Comments

Trouble with Java clients consuming a WCF service?

I was tasked with making a java client utilize a WCF service. 

The details:

  • JDK/JRE 1.6
  • NetBeans 6/JAXWS
  • .NET 3.0
  • WCF

It is obvious per the title of this post that the communication did not work out of the box.  There was nothing special I did on Java’s side.  Rather I became more familiar with the default behavior of WCF.  Such as the default message version (SOAP version) for WCF, this is defined as WS-Addressing 1.0 and SOAP 1.2.  Now, the default for JAXWS is SOAP 1.1.  So right there you see where a problem can arise between these two technologies. 

My resolution was to edit the WCF host configuration to provide SOAP 1.0 support like so:

<bindings>

  <customBinding>

    <binding name="Soap11Binding">

      <textMessageEncoding messageVersion="Soap11" />

      <httpTransport />

    </binding>

  </customBinding>

</bindings>

Now what I have done with the above configuration is create a custom binding to support clients that are not currently able to (or refuse to) take advantage of SOAP 1.2 and WS-Addressing 1.0.

<endpoint

      address="http://localhost/MyHost/MyService.svc"

      binding="customBinding"

      bindingConfiguration="Soap11Binding"

      contract="Services.IMyService" />

 

This is how to utilize the custom binding you have created in your endpoint configuration. 

After much staring out the window, this is the solution I found to make it work.  Notice I did not say I found “the answer”.  I am sure there is another solution out there, but this one worked best for what I was trying to accomplish.  In fact, through my research I noticed that others were attempting to solve this from the Java side by exploring wsgen.exe (i.e. wsgen.exe –extension –wsdl:Xsoap1.2).  I hope others find this post useful.  I did a bit of searching about this topic and did not find enough information in my opinion (I admit my googling is sub-par).  I found a lot of talk and not much doing.   

Is there anyone out there having to communicate with WCF with a non-.NET client?  What difficulties have you discovered in doing so?

posted by tbates | 2 Comments
Filed Under: , ,

01/10/2008 Meeting recap

A quick Meeting Recap.

 

Let me start by thanking everyone who showed up.  Then let me continue by thanking everyone that actively participated in the discussion tonight.  Lastly, I will end my thanks by thanking those that provided valuable feedback concerning the purpose and future direction of the JaxDUG ASP.NET SIG.

 

The meeting was informal at best.  To be quite honest, that was the speed I was looking for.  I presented a brief (non-working ;) ) demo on the ASP.NET Ajax Control Toolkit.  Much as I had hoped, the group discussed Ajax and its role in ASP.NET development.  I enjoyed more the round-table/birds-of-a-feather/get-together that took place after the demos were complete rather than the demos themselves.

 

Here some of the links pertaining to the presentation (these links are targeted for those who do not have .NET 3.5):

 

ASP.NET AJAX 1.0

http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&displaylang=en

 

ASP.NET AJAX Control Toolkit (you can download the binaries and the source here)

http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=8513

 

Instruction for setting up your environment for ASP.NET AJAX Control Toolkit

http://www.asp.net/AJAX/AjaxControlToolkit/Samples/Walkthrough/Setup.aspx

posted by tbates | 2 Comments
Filed Under: ,

01/10/2008 Thursday ASP.NET SIG Meeting Reminder

This post is acting as a reminder for the ASP.NET SIG meeting.

Details.

posted by tbates | 0 Comments
Filed Under: ,

01/10/2008 JaxDUG ASP.NET SIG Meeting

Well, I have not had many volunteers for speaking at the 01/10/2008 ASP.NET SIG nor have the few volunteers followed through.  Both, I realize, are my fault.  I have not been doing much to address either of these problems.  So, that means I will be speaking at the first meeting.  I am going to start it off with a hot topic for everyone… AJAX.  Buzzwords will be abound!

 

Where: "Sea Oats" room (2nd floor) in Building 500, Bank of America, 9000 Southside Blvd: Map and Directions
When: Thursday, January 10th, 2008 @ 6-8 PM

 

Come join us as we get the New Year in gear.  We are going to sample a few controls out of the Microsoft ASP.NET AJAX Toolkit (AutoComplete and the ValidatorCallout).  This presentation will break the ice for the re-energized ASP.NET special interest group.  After the presentation, I will be engaging the group in a roundtable discussion.  The topics ranging from current difficulties members are experiencing with ASP.NET, improvements members would like to see in ASP.NET, and just general how-to’s.

 

If you have got a request for a topic or would like to speak for 30 to 60 minutes at the next JaxDUG ASP.NET SIG meeting, drop me a line.

posted by tbates | 0 Comments
Filed Under: ,

It's your show

The decision has been made; the inaugural meeting of the ASP.NET SIG is January, 10th 2007. 

 

A few people have had positive responses about this bit of news (even a few volunteers for speakers).  So, the early future looks bright for the ASP.NET SIG.

 

I really enjoy helping others find a solution, especially one to a business problem.  Nowadays that’s what it’s all about; how quickly can you apply what you have learned from these user groups in your profession.  On that note, I am seeking feedback.  Tell me what you would like to see demoed/discussed/presented.  Is there a topic you feel that there is just not enough documentation available online?  Maybe the group can create some through meetings and subsequent blog posts.

 

Eugene has already made a shout out for some AJAX, but what about you?

posted by tbates | 2 Comments
Filed Under: ,

Running svcutil.exe from the command prompt

Had a find today while working with WCF. 

 

Several people have complained about how the “Add Service Reference” in Visual Studio 2005 mangles the namespacing of your proxy class file that gets auto-generated.  Usually it starts the namespacing with YourAppNameSpace.YourServiceNameSpace and then lumps the partial class files for your object(s) returned from the service and the partial class files to invoke your service under that same namespace.

 

I did some searching through MSDN on svcutil.exe.  I read that there was a \namespace option that could be used to control the namespace generated in the proxy class file.  Before I began testing this option, another fellow developer was working along the very same lines; in fact, most of the week we both had been feeding on each other’s information.  We would sit down, share the information and experiences we had, and then continue to test new theories or old theories with new perspectives.

 

These said collaborations brought about the simple idea of just running the svcutil.exe from the command prompt with no options defined:

 

svcutil.exe http://servername/WCFServiceHost/MyService.svc?wsdl

 

 

Those familiar with svcutil.exe know that a configuration file and a proxy class file are generated.  In our case, two separate namespaces were created.  One for our object(s) referenced from an external assembly and one for the service itself.

posted by tbates | 0 Comments
Filed Under: , ,

To run these ASP.NET SIG updates may require a restart

There have been some rumblings to stir up the interest in ASP.NET once again.  Veteran members of JaxDUG remember that there used to be an ASP.NET Special Interest Group (SIG).  It previously started with a lot of fire and then unfortunately participation waned.  In my experience, a lot of IT shops here in Jacksonville, FL are asking for more and more ASP.NET work and desire candidates with a working knowledge of ASP.NET.  The JaxDUG ASP.NET SIG inherits all of the same benefits of the parent JaxDUG, but with an obvious focus on ASP.NET inside and out.

 

I am looking forward to taking a more active role in the new JaxDUG ASP.NET SIG.  I have some topics I would like to share, but I would also like to hear from you.  What would you like to see covered in the ASP.NET SIG?  Don’t hesitate to share your ideas through the JaxDUG leadership, at the next meeting (JaxDUG, JOG, Jax Architects, etc), the forums, or here on this blog.

 

I anticipate the fresh start to begin early next year.  Expect an announcement from JaxDUG leadership as to the precise when and where soon.

posted by tbates | 2 Comments
Filed Under:

Consider Tom Bates for your next revolution.

Ah Google, look what you've done to me. I've googled all over myself. Yes, I was alone. Yea, I was rewarded...

Evidence of how awesome I am.

posted by tbates | 1 Comments
Filed Under:

if (Me.ForgotWhatChangedInDotNet20)

I got reminded by a fellow developer of some changes made to the machine.config in the .NET 2.0 Framework today. 

 

The scenario:  a request was being made from a windows client to a component being hosted through IIS.  This particular request was already known to be a long running synchronous operation.  ASP.NET was reaching its execution timeout and sending said notification back to the windows client. 

 

This is not something new to the development team.  They have conquered this nefarious beast before when the .NET Framework version that supported the hosted component was 1.1.  They had made the switch many months ago.  This particular component has been successfully consuming network bandwidth for extraordinary long periods to complete requests since then without an issue.

 

Along comes me, full of ideals and an outsider to their team.  I noticed that the compilation debug attribute is set to true in their component’s configuration file.  No one remembers how it got that way, but everyone outwardly agrees that it should not be that way.  I suggest we change the attribute to false. 

 

Such a suggestion gets implemented.  I have been known to come up with good ideas every now and then.  Solve problems… you know…all that jazz.  Anywho, change gets promoted and … that’s how we get back to ASP.NET was reaching its execution timeout.

 

As I said, they had previously conquered this problem in the past with .NET 1.1.  They set the httpRuntime executionTimeout in their machine.config file.  Turns out, that in .NET 2.0, [… The httpRuntime element is not explicitly defined in the Machine.config file or in the root Web.config file. (from MSDN http://msdn2.microsoft.com/en-us/library/e1f13641.aspx ) …] 

 

Why was this not a problem before you ask?  Here is another tidbit from the same article [… This time-out applies only if the debug attribute in the compilation element is False …]  So, since the debug attribute had been previously set to true the default value for the executionTimeout had been ignored.

 

posted by tbates | 2 Comments
Filed Under:

Just a waste of time

Over and over again I find developers creating "wrappers" for the Visual Basic runtime library. It is a waste of time. Especially when I see them just creating a method called "DateDiff" written in C#. Then this C# "DateDiff" calls the DateDiff method in the Microsoft.VisualBasic.DateAndTime module.

If you want to use the functionality in the VisualBasic library why not reference it directly? Why add another layer?

If the mere sight of the "V" and "B" in VisualBasic makes you want to blow chunks or press a red hot metal poker deep into your good eye then consider re-inventing the wheel.

//get the difference in number of days

DateTime firstDate = DateTime.Now;

DateTime secondDate = DateTime.Now.AddDays(-2);

TimeSpan resultingSpan = firstDate.Subtract(secondDate);

return resultingSpan.Days;

OR

//get the difference in number of months

DateTime firstDate = DateTime.Now;

DateTime secondDate = DateTime.Now.AddMonths(-24);

return firstDate.Month - secondDate.Month + ((firstDate.Year - secondDate.Year) * 12);

The possibilities continue on...

posted by tbates | 0 Comments
Filed Under: