|
Unchalla > Professional > Mark Mullin's Professional Blog
|
| Where I discuss professional things, and from time to time actually consider what I say, so that I am at least deliberately inflammatory. To me, professional things mostly orbit about software development |
7/20/2010If you're using XML serialization to move data elements around, you may get bitten by the fact that the Xml serializer will cheerfully serialize something that it cannot then deserialize - in particular a complaint about invalid characters in the document.
The fix for this is pretty straightforward....
where you would originally have done
XmlSerializer deserializer = new XmlSerializer(typeof(Request));
postRequest = ( Request)deserializer.Deserialize(streamInstance);
-------------------------
Change this to
XmlSerializer deserializer = new XmlSerializer(typeof(Request));
XmlTextReader tr = new XmlTextReader(messageContents);
tr.Normalization = false;
postRequest = ( Request)deserializer.Deserialize(tr);
Basically, the deal is create your own text reader and set normalization to false, and you'll stop having this problem
5/19/2010If
- you're using entity framework in a web service
- that web service is demanding authenticated users for impersonation on a call to initially open a connection to a database via entity framework
- you are getting the rather odd error that the attempt to create sql performance counters has thrown an exception you know it's a perfectly good connection string
Then
try this on the client side, right after you create the client proxy
client.
yourclientinstance.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principle.TokenImpersonationLevel.Impersonation. Found the info here - it's buried way down at the bottom, after a bunch of red herrings (at least for me) about bad connection strings and bad config files in general 5/11/2010Not that this hasn't been done before, but this is definitely a new and original take
5/4/2010A few years ago I gave a Code Camp presentation that showed how the guts of workflows really worked (serializable continuations) and used this mechanism in a non-traditional manner. The demonstration involves a complex animation of setting up a Mah Jongg board and the subsequent dealing of the tiles.
Currently I've uploaded the slide deck, a document that goes into some more detail, and an animation of the program in action. You can get the content here.
I'll modify this post to indicate when I've dug up and posted the code - feel free to bug me if you feel I haven't done that soon enough.
Oh, and I just discovered that the Sharepoint Blog implementation doesn't seem to allow for multiple categories, at least in the initial post...... bummer 4/27/2010
After a long hiatus, I'm back to having an internet presence I update on a more or less regular basis. This time I've elected to go with Sharepoint, and have switched hosting providers to ASPHostCentral.com.
In this initial post, I'd like to take a moment to recommend ASPHostCentral.com. You really learn about an organization when they encounter challenges, and getting me a sharepoint environment configured the way I need it was challenging. I have rarely dealt with organizations that keep up the kind of steady unrelenting work that ASPHostCentral.com did in ensuring I had exactly what I needed. They never backed down, they stepped up to every task, including some that I think singlehandedly turned me into a net loss for the first year, and they came out the far side with all issues resolved. As my domains on other hosts expire they will all be coming home to ASPHostCentral.com, and if you're looking for a hosting provider, I simply can't recommend them enough. When you need them, they really are there, for whatever it takes and however long it takes
| Edit in Browser | /_layouts/images/icxddoc.gif | /Professional/Blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | FileType | xsn | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Professional/Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Professional/Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.2 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Professional/Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.3 | 255 | | Edit in Browser | /_layouts/images/icxddoc.gif | /Professional/Blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser | 0x0 | 0x1 | ProgId | InfoPath.Document.4 | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Professional/Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsx | 255 | | View in Web Browser | /_layouts/images/ichtmxls.gif | /Professional/Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 | 0x0 | 0x1 | FileType | xlsb | 255 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Professional/Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsx | 256 | | Snapshot in Excel | /_layouts/images/ewr134.gif | /Professional/Blog/_layouts/xlviewer.aspx?listguid={ListId}&itemid={ItemId}&Snapshot=1 | 0x0 | 0x1 | FileType | xlsb | 256 |
|
|
|
|
|