Archive for March 2009
Other questions on shared libraries and use with “POCO” remain unanswered.
I am in the process of deploying my first project using Ado.net Data Services using an Entity Framework Context and I thought I would share some of my experience.
Data services comes with the ability to apply credentials on the context, but if you’re wanting to roll-your-own method of passing credentials (such as a cookie) you’re not out of luck. The client ObjectContext supports a “SendingRequest” that is fired every time an HttpWebRequest object is created. In the args object you can get access to the web request. The code looks something like this:
You can then use the cookie you in the service by overriding the “OnStartProcessingRequest” method.
2) .SVC mapping in IIS
For the .svc mime type mapping in IIS you’ll need to make sure the “POST”, “PUT’” and “DELETE” methods are supported.
3) Object Context and connection string
After having trouble creating an object context using an .edmx file directly in an asp.net web site I moved it do a class library and everything seems fine now. Also, it’s very important to make sure your connection string is formatted correctly. When you create and ObjectContext using .edmx it will create a connection string in the .config file that corresponds to the class name of the object context. Additionally, it is very important the connection string “metadata” section be formatted as “metadata=res://*/Context.csdl|res://*/Context.ssdl|res://*/Context.msl;”. And this is where it gets to be interesting. When you create the .edmx file a custom Object Context is created, but also portions of the .edmx file are embedded as resources in the compiled assembly. The “res://*/” paths, which are pipe separated (“|”), need to correspond to these resource names in the compiled assembly. If you don’t don’t know the names you can always use RedGate Reflector to find them. Thanks to Danny Simmons at Microsoft for pointing the right me in the right direction.
4) Turn on debugging output if needed.
There are two things you can do to get at error messages in the service output if necessary.
- Apply the ServiceBehavior attribute to the service. When you do this you want to include (“IncludeExceptionDetailInFaults = true”).
- In the “InitalizeService” method include “config.UseVerboseErrors = true”.
This will allow you to get at the exception details. Make sure you turn off when in production.
Yesterday at Mix 09 the Expression Web team put out a public demo of something they call Super Preview. Essentially this allows you to preview initial browser page output over multiple IE versions. I installed IE 8 today, and I can preview IE 8, IE 7 ( in IE 8’s IE7 emulation mode), and IE 6 which I thinks renders using a cloud service. Here’s the link: http://www.microsoft.com/expression/try-it/superpreview/
Works great. It even renders the IE8.js corrections applied.
Note: The final version that ships in Expression Web 3 will support FIreFox and other browsers. I am wondering if they will maintain Super Preview as a free download after EW 3 ships and if so with what features supported.
I took a bite on Resharper 4.5 on my home machine. My first impression is positive. Two big things I noticed:
- As advertised – Reshaper is MUCH faster. My home machine in a Dell Inspiron 9300 laptop with Pentium M @ 1.73 Ghz running the Windows 7 beta. Perceived drag on small and large solutions is much lower. VS 2008 just seems much more responsive with 4.5 beta.
- In C# renaming a folder will refactor the namespace for contained files. Very nice. Don’t know if 4.1 has that.
Yes. It’s true. You can use XElement and XPath together.
I was working on an applet today using XElement and was having a hard time getting at nested elements. I kept searching the XElement members in VS intellisense but couldn’t get anything that even hinted at XPath like support. Well a trip to the XElement members documentation enlightened me. (http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement_members.aspx) It looks like if you import the System.Xml.XPath name space you get full XPath support for returning single or multiple XElement vis-à-vis extension methods. That makes things SO much easier working with XElements. Saved a TON of time!
Okay – corny title. Sorry. But after my initial elation in working with Ado.net Data Services I ran into a couple of “issue” and this news helps keep me going. Such as not being able to get a virtual count being the most outstanding problem. Here’s that link: http://blogs.msdn.com/astoriateam/.
Looks like it will be a side-by-side release. Now that could be good or very good. Hint – if we have to give up the VS 2008 tooling it’s only “good”.
I’m very pleased that they are responding sooner that forcing a longer wait until .Net 4/VS 2010. I still very much dislike the Entity Framework v1 design choices (specifically the forced reliance on an xml mapping schema), but the pain is worth the gain. The book “Programming Entity Framework” is a big help.