Mono-software.com

All blog posts




Bookmark and Share
This content has not been rated yet. 
Few days ago I have stumble on a problem reported by a customer saying that communication between client and a server application is slow. So I have take a look what may be causing the problem and found that serialization process is slow, well not that slow as it was creating large amount of data which was sent over the wire. At the end I had to optimize whole process, to do that I had to find .Net serializer that is producing less data. In this post I'll  provide you with an overview of the available .Net serialization libraries.
Bookmark and Share
Did you know: Optimizing NTFS Performance
This content has not been rated yet. 

Here is a brief quote on how to optimize the NTFS performance from http://msdn.microsoft.com/en-us/library/cc949109(v=sql.100).aspx

Optimizing NTFS Performance

By default, NTFS is not configured to handle a high-performance workload with tens of thousands of files in an individual file system directory (i.e., the FILESTREAM scenario). There are two NTFS options that need to be configured to facilitate FILESTREAM performance. It is especially important to set these options correctly prior to undertaking any performance benchmarking; otherwise, results will not be representative of true FILESTREAM performance.

The first configuration option is to disable the generation of 8.3 names when new files are created (or renamed). This process generates a secondary name for each file that is only for backward compatibility with 16-bit applications. The algorithm generates a new 8.3 name and then has to scan through all existing 8.3 file names in the directory to ensure the new name is unique. As the number of files in the directory grows large (generally above 300,000), this process takes longer and longer. The time to create a file in turn rises and performance decreases, so turning off this process can significantly increase performance. To turn off this process, type the following at a command prompt and then restart the computer:

          fsutil behavior set disable8dot3 1

Note: This option disables the generation of 8.3 names on all NTFS volumes on the server. If any volumes are being used by 16-bit applications, they may experience issues after you change this behavior.

The second option to turn off is updating the last access time for a file when it is accessed. If the workload briefly accesses many files, then a disproportionate amount of time is spent simply updating the last access time for each file. Turning off this option can also significantly increase performance. To turn off this process, type the following at a command prompt and then restart the computer:

          fsutil behavior set disablelastaccess 1

Bookmark and Share
ASP.NET C# Twitter Module - Tweets Feed
This content has not been rated yet. 
A small and "optimized" UserControl that will display a Twitter Tweets Feed. Inspired by the Deepu MI's Blog post and Peter Bromberg article "ASP.NET Twitter Link Tracker for Friend Posts via Twitter and Otter APIs" I will describe how to optimize an existing Twitter Feed updater in a few simple steps.
Bookmark and Share
New Web site is finally online
This content has not been rated yet. 
I have been working on the new Web site for a long time now, and finally I have a version that we can easily maintain.

New features that has been added are:

  • Social networking platform
  • Forum (Work in progress)
  • Profiles
I hope you will enjoy the new Web site.
Bookmark and Share
Telerik VS 2010 support
This content has not been rated yet. 

Just to share with you great news from Telerik – the VS 2010 support … take a look

Bookmark and Share
This content has not been rated yet. 

Asp.Net team has released new updated of MS Ajax library that includes (As ScottGu stated):

  • Better Imperative Syntax: A new, simplified, code syntax for creating client controls.
  • Client Script Loader: A new client-side script loader that can dynamically load all of the JavaScript files required by a client control or library automatically, and executes the scripts in the right order.
  • Better jQuery Integration: All Microsoft Ajax controls are now automatically exposed as jQuery plug-ins.

You can read more about it here.

If you take a closer look you can see that team has released new small tool called Microsoft Ajax Minifier which can be used to reduce the size of the javascript files. Ajax Minifier has the following components:

  • ajaxmin.exe – A command-line tool for minifying JavaScript files.
  • ajaxmintask.dll – A MSBuild task for minifying JavaScript files in a Visual Studio project.
  • ajaxmin.dll – A component that you can use in your C# or VB.NET applications to minify JavaScript files.

Other optimization tools that you might try:

- Telerik RadCompression http://www.telerik.com/products/aspnet-ajax/compression.aspx

- Microsoft Ajax Minifier http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34488

- MonoSoftware WAO http://www.mono-software.com/Pages/Web-Application-Optimizer.aspx

- Alachisoft nCache http://www.alachisoft.com/ncache/

Bookmark and Share
TIP: IIS multiple web sites running side by side on win XP
This content has not been rated yet. 

Have you ever wonted more than one web site in IIS on Windows XP – Yes ? Here are few useful links that will explain how to accomplish this:

- Multiple Web Sites on One Machine

http://www.geoffchappell.com/viewer.htm?doc=notes/windows/iis/multiplewebsites.htm

- XP PRO IIS Admin 1.8.0: Managing multiple web sites on Windows 2000/XP Professional

http://www.jetstat.com/iisadmin/

Enjoy …

Bookmark and Share
This content has not been rated yet. 

“The .NET Reflector 6 comes with a Visual Studio Add-in that lets you use Visual Studio's step-through-debugging on assemblies that you don't have the source code for.”

Source: http://www.red-gate.com/MessageBoard/viewtopic.php?t=9768

You can download the tool here:

http://downloads.red-gate.com/EAP/Reflector/Reflector_6.0.0.307_Deploy.zip

Bookmark and Share
Microsoft AJAX CDN – good or a bad thing ?
This content has not been rated yet. 

Microsoft ASP.NET team announced the Ajax CDN (Content Delivery Network) service that provides caching support for AJAX libraries. The service is available for free, does not require any registration, and can be used for both commercial and non-commercial purposes.

CDN is “Content delivery networks (CDNs) composed of "edge cache" servers that are strategically placed around the world at key Internet network points.  These "edge cache" servers can be used to cache and deliver all types of content – including images, videos, CSS and JavaScript files.” - ScottGu’s Blog.

You also need to know that this isn’t the first CDN on the market, course Google has it’s own CDN – Google CDN

The good thing

- MS Ajax CDN allows you to use enterprise infrastructure for free to speed up your web applications by referencing Ajax scripts from CDN. So basically you just need to put few links inside your web application and you are set to use CDN.

- The requests are much faster than the requests to your web server

- You can lower you bandwidth by using CDN

- In .Net 4.0 CDN will be built-in with ScriptManager

The “bad” thing

- At the moment there is a small amount of script available at CDN

- It is unclear how script / resource version changes will be handled, so if reference to the script is changed you may end up with no reference (404) or changed reference that may have different methods, method signatures etc. (Maybe some of below links has detailed explanation about this issue)

Also you can checkout these links:

- ScottGu’s Blog post - Announcing the Microsoft AJAX CDN

http://weblogs.asp.net/scottgu/archive/2009/09/15/announcing-the-microsoft-ajax-cdn.aspx

- Speed test - Microsoft's CDN vs Google's CDN

http://www.timacheson.com/Blog/2009/sep/microsoft_launches_ajax_content_distribution_network#comment82

Bookmark and Share
This content has not been rated yet. 

If you ever encountered a slow initial web application loan (for the first user accessing the web application), if you are a asp.net developer you probably have, you may want to take a look at ScottGu’s blog post. One of the new ASP.NET 4 features is the ability to automatically startup and proactively initialize a web application without having to wait for an external client to hit the web server.

In my opinion the down side of this feature is that it is not a .Net 4 only feature but you need to use it in combination with IIS 7.5 (which ships with Windows 7 and Windows Server 2008 R2). So basically you can’t install / use this feature on older web servers :( …

There are many settings that you can use to tweak this feature such as “startMode” (AppPool), “serviceAutoStartProvider” etc. which are explained here.

Page 1 2 3