Script File Planning
When planning an ASP.NET AJAX solution, I'd recommend thinking about the total number of downloadable files that you site or class library will have. This matters because it can affect performance. Omal Al Zabir had a good overview of the problem and solution here. One of the solutions he provides is the ability to combine scripts through a component. The ASP.NET AJAX framework also added the ability to perform script combining as well, using the CombineScripts attribute of the ScriptManager, instead of the Scripts tag.
Outside of script combining, it's possible to have debug and release versions of your script. The script manager component has a ScriptMode property that can be set to Debug or Release. The ScriptManager knows whether the application is compiled in debug or release mode, allowing you to provide a collection of files in debug mode, while providing one single large file in release mode.
<asp:ScriptManager>
<Scripts>
<asp:ScriptReference Path="~/temp1.debug.js" ScriptMode="Debug" />
<asp:ScriptReference Path="~/temp2.debug.js" ScriptMode="Debug" />
<asp:ScriptReference Path="~/temp.js" ScriptMode="Release" />
</Scripts>
</asp:ScriptManager>
Here we have two debug scripts and one release script, as one script file has better performance. The challenge can come when you manage two sets of scripts though.
Another aspect to keep in mind is putting the security features all in one file. For instance, suppose for a blog section of the app, you have client-side AJAX features implemented, giving a few users the ability to perform some additional work. For all other users, they won't have these abilities. If you put the security features in a file: blogsecure.js, then what you can do is programmably control whether this script is provided to the user based on their role, using something like:
ScriptManager manager = ScriptManager.GetCurrent(this.Page);
if (this.User.IsInRole("BlogAdmins"))
manager.Scripts.Add(new ScriptReference("~/blogsecure.js"));
That way, the script doesn't even run, and this can help prevent potential hacking while giving the user full fledged functionality of inserting, updating, and deleting data asynchronously via web service calls.