Ajax.NET Professional - what are you missing?
As I wrote on one of my last blogs I'm working on a new AJAX library for .NET. There are a lot of AJAX JavaScript libraries available, and I will have a look on those who are interesting for the Microsoft .NET Framework. Maybe you have one that is very cool or has a lot of features build-in, let me know! Like other libraries or controls I do not want to replace the default postback machanism of ASP.NET. Also some libraries are using a own Page, or using an interfaces that you have to deal with. I still will use something like a automatic register helper method.
One thing: can you tell me if you would build Web Services instead of the Ajax.NET methods, of if you love the attribute use? What kind of return values are you using? I'm also interested in any online available web sites that is using Ajax.NET to see what kind of applications you are developing with it. If you have beta web sites use my contact form to send the URL.
15 Comments
Comments have been disabled for this content.
Wallym said
Why is this one of your last blog entries?
Oleg Kap said
I think that attribute using is great, gives a lot flexibility. I also was thinking to create some attriute to mark method as Ajax, until I saw your library.
Michael Schwarz said
@Wallym: No, of course not!! I will change my blog from Ajax.NET to "Ajax.NET Professional". I'd like to start a new library or collection of AJAX related controls. Ajax.NET is open source, now; I will be still developing on the project, because I am using it in my own projects.
CIAO
Michael
Rob Chartier said
Hey Michael,
I have been hammering away at your library all day, creating some simple stuff and finally just got a method returning a custom type (and of course setting some document elements with fields from my type).
All and all I love this style of implementation. I like the fact that I need only to register the types and expose those methods that I feel comfortable enough with exposing to the general population.
Personally I would not like to be forced into using a Web Service instead of the Ajax.NET Methods. Most of the time I can see it just adding much more overhead than is needed.
I plan on using this library more in the coming future and I will be sure to give you a heads up if anything is public facing.
Thanks,
-Rob
Tarek Haoula said
What about building in features to all the library to work in Sharepoint.
Wallym said
I love the attribute. It makes things fairly simple. Have you posted the version that supports hitting a web service yet? Have I missed that? I am interested due to the fact that it is one more thing that allows me to integrate directly with something I am already building, if that makes sense.
BTW, Michael, you are awesome. Thanks for this easy to use library.
FYI, I am running your .NET 1.1 library under Whidbey. Q: Can you speak to the differences between running under .NET 1.1 (aka Everrett) and .NET 2.0 (aka Whidbey).
Wally
Dan Barthel said
Web Services NO NO NO. Call to call state preservation YES YES YES
Michael Schwarz said
@rgfigueira: I did not have a detailed look at the library (missing time). What I could read is that it depends on the Ajax.NET code (reflector) and has some changes like no HttpHandler configuration. What do you mean is missing in Ajax.NET or what is done better in the Jason library?
CIAO
Michael
Michael Schwarz said
@Wally: I will add the source code for the web service behavior (xxx.asmx?AJAX).
CIAO
Michael
Marc said
Hello to RBFIGUEIRA (is that your name??).
The My Ajax.NET library is not supporting own classes, is not supporting all value types,...
AND THE BIG "BAD" THING IS THAT IT WILL CREATE A FULL PAGE WITH ALL CONTROL IN IT. THE PERFORMANCE PLUS IS ONLY IN NOT HAVING A POSTBACK. Using the Ajax.NET library from Schwartz allows you to save time/cpu on the server because it will not create a Page!!!! I think this is very cool!!! I do not need to have the web controls values.
Nils said
Hello all, I mean the same as Marc wrotes in the comment above. There are a lot of libraries that want to do same things like Ajax.NET. I am very happy that michael has put the source code online. We can develope together and see what we can do before Microsoft is showing the Atlas thing.
Harry said
How about a mailing list?
Gene said
I love the attribute usage, with one caveat.
(of course both webservice and json method would be nice too)
The reflection piece for the method and it's parameters needs to either honor attributes on the fields and properties of the objects to prevent serialization or honor .net attributes to do the same.
I ran into an issue where I needed circular references (parent-child and child-parent) in a menu object. Without any way to turn off serialization on that field/property the ajax serialization went into a endless loop parent-child-parent-child.
Simply adding an attribute (probably sticking with the .net attribute, but psossibly adding Ajax.DonotSerialize and Ajax.XmlIgnore) whould help
Shan Plourde said
Hi Michael, I ran across eBA's Web ComboBox, <a target="_new" href="http://developer.ebusiness-apps.com/technologies/webdevelopment/codeandcomponents/ebawebcombov3/default.htm">http://developer.ebusiness-apps.com/technologies/webdevelopment/codeandcomponents/ebawebcombov3/default.htm last week. Didn't have the greatest experience with it, but it's ideas are good.
Also, I just found another Ajax .NET toolkit this weekend, see <a target="_new" href="http://developer.ebusiness-apps.com/technologies/webdevelopment/codeandcomponents/ebawebcombov3/default.htm">http://developer.ebusiness-apps.com/technologies/webdevelopment/codeandcomponents/ebawebcombov3/default.htm.
That one looks pretty feature filled. I like their idea of extending out of the box Asp.NET web controls to Ajax-enable them. That seems to be a huge developer productivity win. Plus they have the flexibility of using just a timer or callback Ajax client side module. Maybe you can get some ideas from that.
Joe Good said
Marc wrote:
AND THE BIG "BAD" THING IS THAT IT WILL CREATE A FULL PAGE WITH ALL CONTROL IN IT. THE PERFORMANCE PLUS IS ONLY IN NOT HAVING A POSTBACK. Using the Ajax.NET library from Schwartz allows you to save time/cpu on the server because it will not create a Page.
What about security? Schwartz's code seemed a little too exposed to security threats. It doesn't have access to the Session, so any security implementation there will not work. Also, I think there was a problem with forms authentication.
As far as generating all controls in the page, you don't need to do that. (You'll still be stuck with some, but not all) Check to see if the form is passing the Ajax_CallBackTarget field. If it's there, you know you're in "ajax mode" and you can trim down a lot of processing.