.NET

How to track and fix IIS .NET appliacation StackOverflowException

.NET StackOverflowException is a special type of exception. Starting with .NET 2.0 you can't catch this kind of exception with a try/catch block. Usually, it is a result of recursive method calls. Your program is out of free memory, and any clean-up does not make sense. Every time the .NET program has started, an instance of StackOverflowException is created "just in case". This way framework can throw it (and terminate itself immediately) even if there is no free memory.

Read more

AI/ML in Microsoft 2019

For over last couple of years Microsoft has invested a lot of time and effort into artificial intelligence/machine learning ecosystem. Currently the result can be considered as the first choice platform for enterprise solutions. In this article, I will present the key Microsoft AI/ML solutions available for developers currently.

Read more

Xamarin call JS from C# and vice-versa

In one of the project in GEMOTIAL we work on an Angular app that will work on mobile devices.

Read more

From Chaos To SOLID workshop at EY

Last Saturday I had another 'From chaos to SOLID' workshop for C# developers. We meet in EY office in Wroclaw. This time workshop was done under devWarsztaty.pl brand.

Read more

Global AI Bootcamp Workshop

I can say another weekend, another workshop :) Azure Bot Framework this time!

Read more

From Chaos to SOLID workshop at PTI

I have organized my first free C# refactoring workshop. I called it From CHAOS to SOLID. The main idea of the workshop is to teach how the source code can be transformed in an easy way to be more maintainable and robust.

Read more

Roslynator Command Line

In one of my previous posts i've introduced Roslynator

Read more

BizTalk Health Monitor Tool

BizTalk as an enterprise platform has a lot of modules, components, adapters and other extensions. After developing solutions in BizTalk and maintaining it for a longer period the need for a maintenance tool is becoming important.

Read more

Roslynator Code Analysis

Roslynator is a collection of code analyzers, refactorings and code fixes. It is a Roslyn-based equivalent of FxCop. To some extend it is a replacement for Resharper from JetBrains. Of course R# is much more powerfull, bur Roslyntor is also getting more and more traction recently.

Read more

AssemblyVersion in .NET Core

In .NET Core the way you specify AssemblyInfo attributes has changed. .NET Core allows you to specify assembly attributes in .csproj. You can do that by adding following properties:

Read more

NET Developer Days 2018 Conference

I had the opportunity to attend .NET Developer Days conference also this year. The event was organized in the same place as in previous years - EXPO XXI in Warsaw. Polish capitol looks nice in the autumn, so foreign conference participants had a good opportunity to have some sightseeing too.

Read more

Dictionary And HashTable In C#

.NET Framework provides several data structures for constant O(1) access. In software engineering we call them lookup tables. In .NET we can list following lookup-tables (at least):

Read more

Func vs Expression

This is another post about C# basics :)

Read more

Throwing Exception In C#

In C# there are 3 of ways to throw an exception.

Read more

NDepend VSTS Extension

NDepend was recently released as VSTS Extension. Before that it was available as separate application. It was (and still is) to run it as task on CI server (eg. TeamCity)

Read more

Testing Approach In Large Integration Systems

Maintaining large software systems is hard. Such systems are usually complex by nature. On diagrams they look nice - couple figures exchanging messages each other. The devil is in details - as always. Microservices add extra complexity. We moved from monoliths to farms of services. Now we can deploy changes separately - we decoupled the responsibilities (SOLID rocks!). Now we have more nodes where out messages are flowing from and to.

Read more

TeamCity and W3C Validator

As you may know I'm a big fan of automation. I like to have things done in background and just receive notification if something happens. This saves time and allows me to forget about yet another thing to check situation.

Read more

BizTalk ESB Tracing

As some of you may know I work with BizTalk. I'm involved in an integration project where ESB Toolkit will be used soon. I'm researching various scenarios at the moment.

Read more

New things in NDepend 2017.0.1

"TD" abbreviation for Technical Debt term

Read more

CodeWatch sample fields with underscore convention check

This time I'll talk little bit about code best practices. Usually one thing what every development team does at the beginning of the project is to agree on some conventions. We agree to call services in certain way. Give view models ViewModel suffix and so on. During code reviews we try to catch all those kind of issues.... it's annoying and silly to waste time on somethings like that.

Read more

Ways to create BizTalk messages

For novice BizTalk developers such simple task like creating messages in BizTalk orchestration may become cumbersome. This is what I've learned so far :)

Read more

Accessing MSMQ system queues in C#

While working with MSMQ you may want to access Dead-Letter Queues. If your messages are not delivered to the expected destination they usually end up in Dead-Letter Queue.

Read more

OperationResult pattern

Communication between layers/modules/subsystems works best when API is simple and self explanatory. Pieter Hintjens wrote a great article about API design.

Read more

How to begin journey with BizTalk

Quite while ago I had the opportunity to start a project using BizTalk. In one sentence BizTalk is a stable integration platform providing message persistence, mappings, orchestrations and tooling. It's of course not everything :) It has it's pros and cons, but today I will share my thoughts on how to start with BizTalk. All information are based on my own experience developing BizTalk solutions for last 2 years.

Read more

CodeWatch 1.0 released

Few days ago I decided to release my CodeWatch library. It's the first version to show the concept.

Read more

MSMQ Viewer (Mqueue)

Working with MSMQ can be hard. Windows does not provide a tool to generated or edit messages on the queue. There are plenty of tools that can do that for you. Especially I like Mqueue Viewer

Read more

Why provide interface with your library?

In daily programming activities some of use have the pleasure to use TDD approach :) Going deeper we can introduce the concept of mocks/stubs/shims. For the sake of this article let's call it mocks. Quite often we use 3rd party libs becuase they offer some functionalities we need. For example:

Read more

Autofac, DataContext and MemoryCache issue

In one of my web application I use MemoryCache to improve performance. The code looks like this:

Read more

NET Developers Poland FB group [PL]

This post will be in polish since it is totally related to polish .NET group on Facebook

Read more

Nuget and strong-signed dll

Nuget is very good packed manager tool for .NET projects. We all use Nuget to get all necessary dependencies in our project. Usually, our projects are installed in Program Files or inetpub, which is perfectly valid :) Referenced dlls will be installed along with our projects. Everything is great!

Read more

SOLID for Adults session at WDI 2016

On Wednesday I've attended Warsaw IT Days (Warszawskie Dni Informatyki in polish). This time as a speaker :). It took me one year to jump back on stage :). I was giving a talk called "SOLID for Adults" as a part of DevTalk - Deep Dive track.

Read more

Mono profile in Visual Studio 2012

Recently I step upon an issue of compiling a project using Mono. Mono itself comes with a nice tool called xbuild which is a msbuild brother in Mono world. Xbuild can be used to compile a project from the command line.

Read more

Refactoring ScreenCast - PART 3

My third ScreenCast from the Sample refactoring series is already available!

Read more

Refactoring ScreenCast - PART 2

My second ScreenCast from the Sample refactoring series is already available! In polish again.

Read more

Refactoring ScreenCast - PART 1

I want to share with you a ScreenCast I've recorded recently. This is the first of a whole series. The main topic of the series is: Sample refactoring.

Read more

Logging Exception with StackTrace

C# language has a great Exception Handling mechanism build-in. If something in not predictable during compile time developer can easily embed that piece of code in try{ (...) } catch{ (...) } and say "case closed". Sample code taken from MSDN:

Read more

Using different .config file in .NET application

In .NET world executable files using by default configuration file with special name. Microsoft has implemented following pattern: executable: program.exe and corresponding configuration file program.exe.config. In many scenarios this pattern is fitting well, but there are some cases when something else necessary. In my situation common configuration file was desirable! One configuration file with shared app settings, configuration strings, etc.

Read more

.NET 3.0 and 3.5 out of support from April 12th, 2011

Read more

WPF TextBlock StringFormat

This post is not a hot news, but it may help somebody ;)

Read more

XNA MathHelper

Today just a short note. Recently I've been working on a XNA project. In my project I needed to rotate line. I used that calculation:

Read more

CLR via C# – Jeffrey Richter

CLR via C# is one of the books that should be considered to be read by experienced .NET software engineer. I would not recommend this position to fresh software engineer. This book touches many (if not all) advanced areas in .NET framework up to 4.0. Jeffrey describes how C# language is implemented the way it is or why C# compiler works as it works (i.e. why it uses callvirt IL instruction, instead of call IL instruction, when calling a non-virtual instance method). In several places author has good arguments in hand to criticize .NET development team for that how they have implemented some CLR features (i.e. Exceptions mechanism) :)

Read more

C# Configuration Custom Section – Configuration Element

Recently I needed a custom section in my app.config. Everything went fine until I got this exception: "The string must be at least 1 characters long." (System.Configuration.ConfigurationErrorsException type) while reading the custom section.....

Read more