Jamil Hallal's Blog

I'm a .NET software architect, freelancer. I provide .NET development and consultancy services for the complete Microsoft .NET Ecosystem: ASP.NET(Webforms, MVC), Winforms & WPF , Microsoft Windows Azure, Azure Chatbot, WCF and Standard Web Services, EntityFramework, Database Design (MS SQL & Oracle), SharePoint, CRM. You can reach me through my email address: jamilhallal@hotmail.com

  • SSIS package taking a long time to save or open in Visual Studio

    I'm working on implementing an SSIS package in Visual Studio, I noticed that saving the package is taking few minutes no matter how large or small the number or nature of changes. I tried several tricks, I thought the issue is in the logic of the data flow task itself so I tried a very simple task in SSIS but I was still facing the same issue.

  • HTML Manipulation using .NET - Manage Dynamic Views in MVC using Html Agility Pack

    When creating dynamic views in MVC you might need an API that helps you manipulate the html using .NET code. I usually use "HTML Agility Pack" for this mission, it is quite flexible and easy to use .NET API. In this post I will not discuss the way of creating dynamic views, I will only highlight main functionalities of the HTML Agility Pack and I will give some example.

  • List of .NET Dependency Injection Containers (IOC)

    When designing a software application, a major concern is that the design must be loosely coupled because loose coupling offers greater reusability, maintainability, and testability. Dependency Injection (DI) reduces the coupling between classes and moves the binding of abstraction and concrete implementation out of the dependent class. Dependency Injection enables developers to better manage future code changes and complexity in our software, thus helping us to make our code maintainable. Dependency Injection could be achieved by Construction Injection, Setter Injection, and Interface-based Injection techniques.

  • Building Secure ASP.NET MVC Web Applications

    Building secure distributed Web applications is challenging. There's nothing more exciting than creating a fancy web application. What isn't as exciting, however, is the security risk involved. When it comes to web application development in today's increasingly digitized, mobilized, Internet-of-Things world, security measures can no longer be the afterthoughts they once were. With distributed applications, you have a lot of moving components and making those components work together in a secure fashion requires a working knowledge that spans products and technologies.

  • 301 Permanent Redirect in ASP.NET MVC

    What is a 301 Redirect?
    A 301 redirect is a permanent redirect from one URL to another. 301 redirects send site visitors and search engines to a different URL than the one they originally typed into their browser or selected from a search engine results page. A 301 redirect is key to maintaining a website's domain authority and search rankings when the site's URL is changed for any reason.