A taste of development

March 23, 2008

Silverlight 2 Beta 1 Cross Domain Bug

Filed under: Technology —Tagged , , — simma1990 @ 8:00 pm

Also see: DevWeek 2008 Silverlight Precon Demos

I recently ran into what appears to be a bug in Silverlight 2 Beta 1’s handling of cross-domain web service access when using a clientaccesspolicy.xml file. I’m hoping this post might save a few other people the time it took me to work out what was going on here.

Here’s the executive summary: if the web service exposes resources whose URIs contain semicolons, you will not be able to access those resources cross-domain if you’re using clientaccesspolicy.xml. The workaround is to use crossdomain.xml instead.

Now for the more detailed version.

In case you’re not familiar with cross-domain web service access, here’s the basic idea. By default, a web browser won’t let client-side code go connecting to any old web site. Client-side code is allowed to make requests against the web site from which it was originally downloaded, and it should only have access to other sites if those sites opt in.

In pure AJAX sites, this is often achieved using a faintly smelly hack where web services return runnable script rather than simple data. Flash introduced a somewhat more formal mechanism by which a web site can declare that it’s happy to be accessed by client-side code from other domains. Silverlight now supports this feature as of v2 beta 1.

Here’s an example. If your web site offers a resource called /crossdomain.xml containing this:

<!DOCTYPE cross-domain-policy SYSTEM
 "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
 <allow-access-from domain="*" />
</cross-domain-policy>

(more…)

Tagspace, Meet Claimspace

Filed under: Technology —Tagged , , — simma1990 @ 2:00 pm

Also see: Playing Multiple Simultaneous Sounds in WPF

In early June, we will launch a new social software service for technical professionals called Claimspace (codename, “Rapport”), which will join Tagspace , Blogs , and Forums as the newest member of the Microsoft.Community family. Our development lead, Doug , mentioned Claimspace a few weeks ago so I figured I’d follow up.

Tagspace enables you to say, ‘I found this resource and it appears to be worthy of my attention.’
Conversely, Claimspace will enable you to say, ‘I created this resource, wish to be recognized for it on these terms ___, and I hope you find it worthy of your attention. What do you think?’

What is Claimspace, exactly?
Claimspace is a decentralized, folksonomical resource* evaluation and recommendation system for technical professionals. Claimspace will enable you to take credit for your great ideas and gain recognition for yourself and your valuable contributions, wherever you go**, on the Web. Claimspace will provide a structured and simple way to build social capital, quantify its value, and establish credibility, on your terms. To participate in Claimspace, all you have to do is create and deploy or respond to an xClaim, anywhere on the Web.

*In this context, a “resource” is any item on the Web that is URI addressable. Conceptually, we divide resources into two groups: static and dynamic. A static resource is a resource that does not change. Static resources include Web pages, podcasts, videos, & etc. A dynamic resource is representative of a resource that produces static resources. Dynamic resources include such things as people and RSS feeds. How is Claimspace “folksonomical”? You can write anything you want in an xClaim; absolutely anything. We’re not your parents and we do not impose a claim taxonomy.

**In our first release, Claimspace will be usable only in the context of our new Blogs and Forums. 6-8 weeks later, we plan to extend support for the creation and deployment of xClaims on practically any Web page to which you have write access, on the Web.

(more…)

Tagspace: Social Bookmarking for the Whole Web…from Microsoft

Filed under: Technology —Tagged , , — simma1990 @ 6:48 am

Also see: Silverlight 2 Beta 1 Cross Domain Bug

I am tickled pink ’n honored to announce the third release of Microsoft Tagspace *, a social bookmarking solution for technical professionals, like you. With this release, Tagspace becomes Microsoft’s first true social bookmarking application for the whole World Wide Web Web. Learn more about Tagspace and its potential to help you save, recall, and connect to the people, subjects, and Web-based resources that matter most to you here.

With today’s release, you can now use Tagspace to:

  • Tag Practically Anthing on the Web–Apply tags to practically any site on the World Wide Web, excepting those that are known to contain offensive, malicious, and otherwise inappropriate content.
  • Browse Member Tags–See what other users have tagged and view their personal tag clouds, by clicking on their display names.
  • “Tag Drafting”–Subscribe to the RSS feed for a tag (like tagspace ).
  • “Member Drafting”–Subscribe to the RSS feed for other members’ public tagged items (my Tagspace RSS feed here ;-) , by clicking on their names and subscribing to the RSS feeds associated with their tagged items lists. 
  • “Tag Drafting ” and “Member Drafting” are excellent ways to stay up to date , diminish information overload , and approach what I like to call domain omniscience “, at little expense to yourself.

(more…)

VS.NET Macro To Group and Sort Your Using Statements

Filed under: Technology —Tagged , , , — simma1990 @ 12:00 am

Also see: The NCAA and the Hoosiers

I try to follow a coding standard for organizing my using statements. System.* goes at the top and then other namespaces grouped together like this:

 using System;
 using System.Collections.Generic;
 using System.Configuration;
 using System.Data;
 using System.Data.SqlClient;
 using System.Web;
 using System.Web.Script.Services;
 using System.Web.Services;
 using System.Web.Services.Protocols;

 using Microsoft;
 using Microsoft.CSharp;

 using MyCompany;
 using MyCompany.Web;

.csharpcode,.csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode.rem { color: #008000; }
.csharpcode.kwrd { color: #0000ff; }
.csharpcode.str { color: #006080; }
.csharpcode.op { color: #0000c0; }
.csharpcode.preproc { color: #cc6633; }
.csharpcode.asp { background-color: #ffff00; }
.csharpcode.html { color: #800000; }
.csharpcode.attr { color: #ff0000; }
.csharpcode.alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode.lnum { color: #606060; }

(more…)

Powered by WordPress Hosted by Edublogs.