|
|
Monday, December 03, 2007 |
WCF and XBAP
Posted: 4:56:00 AM
|
I just concluded a weekend of work that got me, well, nowhere really. I've been working on a XBAP (Xaml Browser APplication) for what's going to be my new World of Warcraft guild, Six Minutes To Release. I will be honest. At first, I had absolutely no clue what I was getting into.
XAML is basically Flash on steroids (AKA the .NET framework). It's cool because you can easily run XAML-based applications on the desktop or through the Internet. Since World of Warcraft is an Internet-based game, the obvious choice was to serve up my app from a website.
So I started playing around. I figured out pretty easily how to make a nice banner that rotates images smoothly. I learned how to add some pretty kick ass looking buttons. I've got a nice system that will dynamically load and unload controls as traditional pages or as dialog boxes.
Then I decided I wanted to connect to a database. Oi.
Since a XBAP can't connect directly to a database, WCF - which I've already played around with for Backup - was the obvious choice. Minor problem, though. WCFs are severely gimped in XBAPs. So, what I thought was a wonderfully built news display that ran perfectly in Visual Studio was nothing more than trash code. Wonderful.
It took hours, probably close to 10 or 12, of research and wrestling with a couple of bugs in Visual Studio before I finally got it working right. What went wrong along the way?
- The flashy banner that I made randomly decides to not compile. I have to clean and rebuild the solution, and then cross my fingers to hope it doesn't happen again.
- I didn't realize that return types from WCF's can't be interfaces, because you can't serialize an interface.
- My service wouldn't run on Ox. Granted, Ox is not a server, but it does have IIS7 and everything you need installed to run a WCF service, except for some reason it was emitting text/xml while WCF clients expect application/soap+xml. Never got that working, I just abandoned it after about 2 hours of research and sent it straight to Understudy.
- One of the WCF gimps is that you can't use wsHttpBinding unless you have certain things setup which I wasn't about to research. Changing it basicHttpBinding works... except if you have already defined the Service Reference on the client. If you have, it'll keep complaining about wsHttpBinding until you remove the service reference and re-add it.
The good news is that I finally got everything working, and have my first page mostly operational. Even though I've seemingly made no progress this weekend, my knowledge of WCF and XBAP has grown quite a bit, and now all of the pieces are in place for me to take off running with this one. I think I'm going to have a lot of fun with this.Labels: Coding, Gaming, Six Minutes To Release, World of Warcraft
0 Comments
|
|