Posts

Showing posts from 2011

Which factors are really important for defining a sofware's architecture?? is there in priority between them?

I would say Performance , Maintainability and Scalability are probably the highest. A software needs to perform well, an underperforming software is an annoyance and will drive the customers away.  Maintainability is also key for post production - if a software architecture is not done keeping maintainability in mind , bug fixes and enhancements can be a nightmare.  Scalability is the next thing in line because most products need to grow and change with time, happens with all of them.  These one of the main factors that I would keep in mind while designing and architecting software. The factor would be for both Functional and Non-Functional requirement of Software Application. However the important factor would be for Non-Functional i.e. Performance, Scalability, Maintainability, Security. The reason for addressing all nonfunctional requirements is because those are hidden a...

Insufficient memory error in Visual Studio 2010

Insufficient available memory to meet the expected demands of an operation at this time, possibly due to virtual address space fragmentation. Please try again later.” Hi everyone - I'm writing to let you know , Microsoft just released a hotfix to address the "insufficient memory" error on small cut or copy operations in VS 2010 RTM. If you try the patch, please post here to let us know (either way) whether it solves the problem. If there are still issues after hotfix installation, we're definitely interested in investigating. Hotfix download:  https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=29729 Hotfix information:  http://blogs.msdn.com/b/visualstudio/archive/2010/06/25/patch-available-for-cut-or-copy-displaying-insufficient-memory-error-in-vs-2010.aspx  Thanks, Sunil

ContextSwitchDeadlock was detected

Image
I have been writing an application that loads large amounts of data into the a database. The process of loading the data into the database goes through several steps requiring a considerable amount of time to complete. The long processing time is not a matter of concern from the application stand point. However, frequently the application throws a "ContextSwitchDeadlock was detected" message that says the following: Message: The CLR has been unable to transition from COM context 0x20450a0 to COM context 0x20452f0 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives ...

Powerful Coding Assistance and Refactoring Add-in for Visual Studio

http://www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/ DevExpress created CodeRush for Visual Studio® .NET to help developers and managers—meet these increased demands for quality and functionality. CodeRush will help you create and maintain source code with extreme efficiency. Consume-first declaration, powerful templates, smart selection tools, intelligent code analysis, and innovative navigation and an unrivalled collection of refactorings all work together to increase your productivity dramatically.

Generate .Net Classes from XSD/XML

XSD ( XSD tool / XSD.exe ) To generate .Net Class file. 1.      We can use XSD Tool (Xml Schema Definition Tool) or XSD.exe to generate class files (.cs or .vb ) as per your requirements from Typed Datasets.  2.      XSD.exe is the  XML Schema Definition  tool which generates XML schema or common language runtime classes from XDR, XML, and XSD files. 3.         The file locates at C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\XSD.exe OR C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin Depends up on your version of .Net. 4.      If you are having Express edition of ( V 2.0) then it might possible that you don’t have .Net command prompt option available in Start->Programs , then you have to go command prompt and goto location “C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin” and then type f...

Hide close button for Windows Form

In the windows form add this code   protected override CreateParams CreateParams        {            get            {                CreateParams param = base.CreateParams;                param.ClassStyle = param.ClassStyle | 0x200;                return param;            }        }

What's New in .NET 4.0

Visual Studio 2010 and .NET Framework 4 Beta 1 are available for  download .  .NET 4 Beta 1 contains new functionality and improvements throughout the framework.  In this post I’ll discuss the changes specific to the BCL. Many of the features listed below were previously announced when we released the .NET Framework 4 CTP back in November of last year.  I’ve included these features again below for completeness.  New functionality in Beta 1 that wasn’t present in the CTP is denoted as such. Code Contracts System.Diagnostics.Contracts provides a language-agnostic way to express coding assumptions in .NET programs.  The contracts take the form of pre-conditions, post-conditions, and object invariants.  Contracts act as checked documentation of your external and internal APIs.  The contracts are used to improve testing via runtime checking, enable static contract verification, and could be used in documentation generation.  We partner...

How to register .NET components with COM

Summary Extending the ArcGIS applications with custom .NET components requires that the .NET classes are made available to the component object model (COM) runtime by registering the components in the COM registry. The three ways to perform this task are outlined in this document. In addition, if the component is to be used from a COM development environment, you may also want to export a type library, which is also outlined in this document.  Building the project on a development machine Use: On a development machine   When you want to register an assembly for COM interop on a development machine, the simplest way is to open the project in Visual Studio 2005, ensure the project-level Register for COM Interop property is set to true, then build the project.   To check a project's settings, click Project Properties from the Project menu, select the Build (C#) or Compile (VB.NET) page, and select the Register for COM Interop check box. ...

Visual Studio setup and deployment projects

Image
This article describes the basics of Visual Studio setup and deployment projects. Subsequent articles will cover advanced topics, including more on custom actions, .NET installer classes, and how to build an upgrade for the product. Introduction Setup and deployment projects have always been a part of the Visual Studio.NET environment. Setup projects can be used to build various deployment packages, most notably Windows Installer setups packaged as MSI files. I’ll start with a basic setup that installs a C# Windows forms program and adds a shortcut to it. First, select  Setup Project , grouped under  Setup and Deployment  in the  Other Project Types  section. Choosing this will give you an empty project for adding your deployment units. With the project selected in Solution Explorer, the  View->Editor  choice gives you a selection that includes  File System  – this is where you add your files and shortcuts. Application Folder ...

Best practices for software development projects

Introduction Most software projects fail. In fact, the Standish group reports that over 80% of projects are unsuccessful either because they are over budget, late, missing function, or a combination. Moreover, 30% of software projects are so poorly executed that they are canceled before completion. In our experience, software projects using modern technologies such as Java, J2EE, XML, and Web Services are no exception to this rule. This article contains a summary of best practices for software development projects. Industry luminaries such as Scott Ambler, Martin Fowler, Steve McConnell, and Karl Wiegers have documented many of these best practices on the Internet and they are referenced in this article. See also the Related information section at the end of this article. The companion article, Guide to Running Software Development Projects , describes the top ten factors that help improve the success of your project. Best practices 1. Development process - It is import...

Architecture Maturity Models

Overview Organizations that can manage change effectively are generally more successful than those that cannot. Many organizations know that they need to improve their IT-related development processes in order to successfully manage change, but don't know how. Such organizations typically either spend very little on process improvement, because they are unsure how best to proceed; or spend a lot, on a number of parallel and unfocussed efforts, to little or no avail. Capability Maturity Models (CMMs) address this problem by providing an effective and proven method for an organization to gradually gain control over and improve its IT-related development processes. Such models provide the following benefits: They describe the practices that any organization must perform in order to improve its processes. They provide a yardstick against which to periodically measure improvement. They constitute a proven framework within which to manage the improvement efforts. The variou...