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.
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.
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.
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 moreGlobal AI Bootcamp Workshop
I can say another weekend, another workshop :) Azure Bot Framework this time!
Read moreFrom 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 moreBizTalk 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 moreRoslynator 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 moreAssemblyVersion 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:
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 moreDictionary 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 moreNDepend 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 moreTesting 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 moreTeamCity 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 moreBizTalk 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 moreCodeWatch 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 moreWays 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 moreAccessing 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 moreOperationResult 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 moreHow 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 moreCodeWatch 1.0 released
Few days ago I decided to release my CodeWatch library. It's the first version to show the concept.
Read moreMSMQ 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 moreWhy 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 moreAutofac, DataContext and MemoryCache issue
In one of my web application I use MemoryCache to improve performance. The code looks like this:
Read moreNET Developers Poland FB group [PL]
This post will be in polish since it is totally related to polish .NET group on Facebook
Read moreNuget 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 moreSOLID 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 moreMono 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 moreRefactoring ScreenCast - PART 3
My third ScreenCast from the Sample refactoring
series is already available!
Refactoring ScreenCast - PART 2
My second ScreenCast from the Sample refactoring
series is already available! In polish again.
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
.
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:
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 moreXNA 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 moreCLR 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 moreC# 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.....