<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Dojr.NET Dojo RPC Library</title><link>http://www.codeplex.com/DojrDotNet/Project/ProjectRss.aspx</link><description>Dojr.NET is a simple framework created to allow easy creation of dojo.rpc services by defining a class which inherits from a specific base class, adding one or more attributes, and registering it a...</description><item><title>Updated Release: March 2008 Edition (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>&lt;div&gt;
This is the original release of Dojr.NET for .NET 2.0.&lt;br&gt;
&lt;/div&gt;</description><author></author><pubDate>Thu, 31 Jul 2008 04:35:18 GMT</pubDate><guid isPermaLink="false">Updated Release: March 2008 Edition (Apr 06, 2008) 20080731043518A</guid></item><item><title>NEW POST: More WCF based implementation of JSON-RPC</title><link>http://www.codeplex.com/DojrDotNet/Thread/View.aspx?ThreadId=26507</link><description>&lt;div class="wikidoc"&gt;
Well for the public record, I'll continue this thread...&lt;br /&gt;Instead of creating a custom binding to map the content type application/json-rpc to Json it is possible to set the content type on the dojo rpc service. &lt;br /&gt;eg&lt;br /&gt;var svc = new dojo.rpc.JsonService('myservicesvc/ajaxEndpoint/?smd');&lt;br /&gt;svc.contentType = &amp;quot;application/json&amp;quot;;&lt;br /&gt; &lt;br /&gt;now WCF will encode the message body as json and it can be retrieved using  &lt;br /&gt;DojoMessage rpcMessage = message.GetBody&amp;lt;DojoMessage&amp;gt;(new DataContractJsonSerializer(typeof(DojoMessage)));&lt;br /&gt; &lt;br /&gt;Arguably not the best way, but the simplest way get things going. It would be nice if application/json-rpc was one of the default mappings in wcf.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>zestbot</author><pubDate>Fri, 25 Apr 2008 03:59:41 GMT</pubDate><guid isPermaLink="false">NEW POST: More WCF based implementation of JSON-RPC 20080425035941A</guid></item><item><title>NEW POST: More WCF based implementation of JSON-RPC</title><link>http://www.codeplex.com/DojrDotNet/Thread/View.aspx?ThreadId=26507</link><description>&lt;div class="wikidoc"&gt;
OK, Ill undo the glory earned by the getting the &amp;quot;first post&amp;quot; by replying to myself :-(&lt;br /&gt; &lt;br /&gt;The answer to my question is that WCF and WebHttpBehavior can be used as described above. The trick is getting the json out of the json-rpc request message at the operation selection time. &lt;br /&gt; &lt;br /&gt;Quoting from this thread http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2790925&amp;amp;SiteID=1&lt;br /&gt; &lt;br /&gt;&amp;quot;Endpoints with the WebHttpBinding (or custom bindings with the WebMessageEncodingBindingElement) have a &amp;quot;content type mapper&amp;quot; that will tell WCF what is the format of the request, based on the content-type of the request (the three formats supported in .NET FX 3.5 are Xml, Json and Raw). In the case of all operations in the endpoint with exclusively Stream parameters, the WebServiceHost will map all requests to the &amp;quot;Raw&amp;quot; mode. If there is at least one operation that has a parameter other than Stream, then this mapping won't be added, and the default mapping kicks in (application/json and text/json to Json; application/xml, text/xml and some others to Xml; everything else to Raw).&amp;quot;&lt;br /&gt; &lt;br /&gt;So the json comes through on the message as binary within an xml element eg &amp;lt;binary&amp;gt;binary&lt;i&gt;encoded&lt;/i&gt;json&amp;lt;/binary&amp;gt;&lt;br /&gt; &lt;br /&gt;therefore it can be accessed as follows&lt;br /&gt;                XmlDictionaryReader reader = message.GetReaderAtBodyContents();&lt;br /&gt;                byte[] bytes = reader.ReadElementContentAsBase64();&lt;br /&gt;                string myJason = Encoding.UTF8.GetString(bytes);&lt;br /&gt; &lt;br /&gt;This proves how it is working but, it would be better extend the &amp;quot;content-type-mapper&amp;quot; to map application/json-rpc to Json as well then I guess it could be retrieved using something like &lt;br /&gt; &lt;br /&gt;DojoMessage rpcMessage = message.GetBody&amp;lt;DojoMessage&amp;gt;(new DataContractJsonSerializer(typeof(DojoMessage)));&lt;br /&gt; &lt;br /&gt;Carey&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;
&lt;/div&gt;</description><author>zestbot</author><pubDate>Thu, 24 Apr 2008 04:30:13 GMT</pubDate><guid isPermaLink="false">NEW POST: More WCF based implementation of JSON-RPC 20080424043013A</guid></item><item><title>NEW POST: More WCF based implementation of JSON-RPC</title><link>http://www.codeplex.com/DojrDotNet/Thread/View.aspx?ThreadId=26507</link><description>&lt;div class="wikidoc"&gt;
Hi,&lt;br /&gt;Great propject. I am trying to do the same thing but using more of WCF.&lt;br /&gt; &lt;br /&gt; I am finding implementing the operation selector for json-rpc difficult in WCF, and see that you chose to use old httphandler stuff rather than the new webHttpBinding stuff. Is there a good reason for that?&lt;br /&gt; &lt;br /&gt;I have tried to implement pretty much the same as you have but using WebHttpBehavior and extending WebHttpDispatchOperationSelector to override SelectOperation. My problem is not being able to figure out how to get the json out of the message at the operation selection stage.&lt;br /&gt; &lt;br /&gt;Any thoughts on the pros and cons of using webHttpBinding over httphandler and suggestions on getting the json out of the message in SelectOperation would be appreciated.&lt;br /&gt; &lt;br /&gt;Cheers&lt;br /&gt; &lt;br /&gt;Carey &lt;br /&gt;
&lt;/div&gt;</description><author>zestbot</author><pubDate>Thu, 24 Apr 2008 00:35:33 GMT</pubDate><guid isPermaLink="false">NEW POST: More WCF based implementation of JSON-RPC 20080424123533A</guid></item><item><title>UPDATED RELEASE: March 2008 Edition (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>&amp;#42;This is the current revision of Dojr.NET and is therefore not archived into ZIP.  Get the source code for this revision.&amp;#42;&lt;br /&gt;&lt;br /&gt;This is the original release of Dojr.NET for .NET 2.0.&lt;br /&gt;&lt;br /&gt;Given the nature of open source projects, ZIP are normally obsolete as soon as they are published and therefore,  they are only used for archived projects.  Because of this, &amp;#43;you should always get the latest code from the source code section&amp;#43;.  ZIP downloads are for archived revisions only.</description><author></author><pubDate>Wed, 09 Apr 2008 16:22:46 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: March 2008 Edition (Apr 06, 2008) 20080409042246P</guid></item><item><title>UPDATED RELEASE: March 2008 Edition (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>&amp;#42;This is the current revision of ESV Bible Web Service 2.0 Framework and is therefore not archived into ZIP.  Get the source code for this revision.&amp;#42;&lt;br /&gt;&lt;br /&gt;This is the original release of Dojr.NET for .NET 2.0.&lt;br /&gt;&lt;br /&gt;Given the nature of open source projects, ZIP are normally obsolete as soon as they are published and therefore,  they are only used for archived projects.  Because of this, &amp;#43;you should always get the latest code from the source code section&amp;#43;.  ZIP downloads are for archived revisions only.</description><author></author><pubDate>Wed, 09 Apr 2008 16:22:01 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: March 2008 Edition (Apr 06, 2008) 20080409042201P</guid></item><item><title>UPDATED RELEASE: March 2008 Edition (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>&amp;#42;This is the current revision of Squid and is therefore not archived into ZIP.  Get the source code for this revision.&amp;#42;&lt;br /&gt;&lt;br /&gt;This is the original release of Dojr.NET for .NET 2.0.&lt;br /&gt;&lt;br /&gt;Given the nature of open source projects, ZIP are normally obsolete as soon as they are published and therefore,  they are only used for archived projects.  Because of this, &amp;#43;you should always get the latest code from the source code section&amp;#43;.  ZIP downloads are for archived revisions only.</description><author></author><pubDate>Wed, 09 Apr 2008 04:34:20 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: March 2008 Edition (Apr 06, 2008) 20080409043420A</guid></item><item><title>UPDATED RELEASE: March 2008 Edition (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>This is the original release of Dojr.NET.&lt;br /&gt;&lt;br /&gt;Given the nature of open source projects, ZIP are normally obsolete as soon as they are published and therefore,  they are only used for archived projects.  Because of this, &amp;#43;you should always get the latest code from the source code section&amp;#43;.  ZIP downloads are for archived revisions only.</description><author></author><pubDate>Wed, 09 Apr 2008 01:15:30 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: March 2008 Edition (Apr 06, 2008) 20080409011530A</guid></item><item><title>UPDATED RELEASE: Original CodePlex Release (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>This project has been previously hosted else where and has been transferred to CodePlex.&lt;br /&gt;&lt;br /&gt;Given the nature of open source projects, ZIP are normally obsolete as soon as they are published and therefore,  they are only used for archived projects.  Because of this, &amp;#43;you should always get the latest code from the source code section&amp;#43;.  ZIP downloads are for archived revisions only.</description><author></author><pubDate>Wed, 09 Apr 2008 01:13:43 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Original CodePlex Release (Apr 06, 2008) 20080409011343A</guid></item><item><title>UPDATED RELEASE: Original CodePlex Release (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>This project has been previously hosted else where and has been transferred to CodePlex.&lt;br /&gt;&lt;br /&gt;The source code will always be in the source code section.  &amp;#34;ZIP&amp;#34; downloads are normally obsolete as soon as they are published.</description><author></author><pubDate>Wed, 09 Apr 2008 00:41:06 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Original CodePlex Release (Apr 06, 2008) 20080409124106A</guid></item><item><title>UPDATED RELEASE: Original CodePlex Release (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>This project has been previously hosted else where and has been transferred to CodePlex.&lt;br /&gt;&lt;br /&gt;This is CodePlex&amp;#58; get the code.  ZIPs are redundant.</description><author></author><pubDate>Wed, 09 Apr 2008 00:39:50 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Original CodePlex Release (Apr 06, 2008) 20080409123950A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/DojrDotNet/Wiki/View.aspx?title=Home&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Dojr.NET is a simple framework created to allow easy creation of dojo.rpc services by defining a class which inherits from a specific base class, adding one or more attributes, and registering it as an HttpHandler.
&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
NetFXHarmonics Blog
&lt;/h3&gt; &lt;br /&gt;&lt;b&gt;Dojr.NET Announcement and Overview&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.netfxharmonics.com/2008/01/DojrNET-Dojo-RPC-Library-NET-20" class="externalLink"&gt;http://www.netfxharmonics.com/2008/01/DojrNET-Dojo-RPC-Library-NET-20&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
As a Training Tool
&lt;/h3&gt; &lt;br /&gt;Dojr.NET is built on .NET 3.5 technology and attempts to give WCF-like usability.  Dojr.NET actually internally uses DataContractJsonSerializer which WCF 3.5 internally uses for its own JSON serialization.  Dojr.NET, like WCF, uses attributes to declare specific service operations.  However, unlike WCF, Dojr.NET inherits from a class, like COM+, where as it is idiomatic in WCF to implement a service contract interface.  Dojr.NET creates each service as an HttpHandler which is then registered to ASP.NET at a particular endpoint.&lt;br /&gt;
&lt;/div&gt;</description><author>quantum00</author><pubDate>Tue, 08 Apr 2008 05:25:36 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080408052536A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/DojrDotNet/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Dojr.NET is a simple framework created to allow easy creation of dojo.rpc services by defining a class which inherits from a specific base class, adding one or more attributes, and registering it as an HttpHandler.
&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
NetFXHarmonics Blog
&lt;/h3&gt; &lt;br /&gt;&lt;b&gt;Dojr.NET Announcement and Overview&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.netfxharmonics.com/2008/01/DojrNET-Dojo-RPC-Library-NET-20" class="externalLink"&gt;http://www.netfxharmonics.com/2008/01/DojrNET-Dojo-RPC-Library-NET-20&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
As a Training Tool
&lt;/h3&gt; &lt;br /&gt;Dojr.NET is a NetFXHarmonics product built on .NET 3.5 technology and attempts to give WCF-like usability.  Dojr.NET actually internally uses DataContractJsonSerializer which WCF 3.5 internally uses for its own JSON serialization.  Dojr.NET, like WCF, uses attributes to declare specific service operations.  However, unlike WCF, Dojr.NET inherits from a class, like COM+, where as it is idiomatic in WCF to implement a service contract interface.  Dojr.NET creates each service as an HttpHandler which is then registered to ASP.NET at a particular endpoint.&lt;br /&gt;
&lt;/div&gt;</description><author>quantum00</author><pubDate>Tue, 08 Apr 2008 05:23:01 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080408052301A</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/DojrDotNet/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>quantum00</author><pubDate>Sun, 06 Apr 2008 19:01:05 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080406070105P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/DojrDotNet/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>quantum00</author><pubDate>Sun, 06 Apr 2008 18:58:33 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080406065833P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/DojrDotNet/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>quantum00</author><pubDate>Sun, 06 Apr 2008 18:56:52 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080406065652P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/DojrDotNet/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>quantum00</author><pubDate>Sun, 06 Apr 2008 18:53:18 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080406065318P</guid></item><item><title>CREATED RELEASE: Original CodePlex Release (Apr 06, 2008)</title><link>http://www.codeplex.com/DojrDotNet/Release/ProjectReleases.aspx?ReleaseId=12327</link><description>This project has been previously hosted else where and has been transferred to CodePlex.</description><author></author><pubDate>Sun, 06 Apr 2008 14:36:18 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: Original CodePlex Release (Apr 06, 2008) 20080406023618P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/DojrDotNet/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Dojr.NET is a simple code created to allow easy creation of dojo.rpc services that are usable is a manner idiomatic for ASP.NET.
&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
NetFXHarmonics Blog
&lt;/h3&gt; &lt;br /&gt;&lt;b&gt;Dojr.NET Announcement and Overview&lt;/b&gt;&lt;br /&gt;&lt;a href="http://www.netfxharmonics.com/2008/01/DojrNET-Dojo-RPC-Library-NET-20" class="externalLink"&gt;http://www.netfxharmonics.com/2008/01/DojrNET-Dojo-RPC-Library-NET-20&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
As a Training Tool
&lt;/h3&gt; &lt;br /&gt;Dojr.NET is built on .NET 3.5 technology and attempts to give WCF-like usability.  Dojr.NET actually internally uses DataContractJsonSerializer which WCF 3.5 internally uses for its own JSON serialization.  Dojr.NET, like WCF, uses attributes to declare specific service operations.  However, unlike WCF, Dojr.NET inherits from a class, like COM+, where as it is idiomatic in WCF to implement a service contract interface.  Dojr.NET creates each service as an HttpHandler which is then registered to ASP.NET at a particular endpoint.&lt;br /&gt;
&lt;/div&gt;</description><author>quantum00</author><pubDate>Sun, 06 Apr 2008 06:05:42 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080406060542A</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/DojrDotNet/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>quantum00</author><pubDate>Sun, 06 Apr 2008 06:00:48 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080406060048A</guid></item></channel></rss>