---
title: "Comment by klement Gunndu on \"Step-by-Step Approach to Use Onion Architecture in .NET\" | Hashnode"
description: "The layer-by-layer dependency setup is clear, but I'm curious about how you handle cross-cutting concerns like logging and caching — do those live in the infras"
url: "https://hashnode.com/posts/step-by-step-approach-to-use-onion-architecture-in-net/67e98fe33beb1a0497ba6e38/comment/69a3983362f183b62ff27539"
---

[Discussion](https://hashnode.com/posts/step-by-step-approach-to-use-onion-architecture-in-net/67e98fe33beb1a0497ba6e38)

Comment [Step-by-Step Approach to Use Onion Architecture in .NET](https://hashnode.com/posts/step-by-step-approach-to-use-onion-architecture-in-net/67e98fe33beb1a0497ba6e38)

[klement Gunndu](https://hashnode.com/@klementgunnduai)

[Mar 1](https://hashnode.com/posts/step-by-step-approach-to-use-onion-architecture-in-net/67e98fe33beb1a0497ba6e38/comment/69a3983362f183b62ff27539)

The layer-by-layer dependency setup is clear, but I'm curious about how you handle cross-cutting concerns like logging and caching — do those live in the infrastructure layer or get injected through the application contracts? In larger .NET projects I've seen the application layer grow unwieldy when every cross-cutting concern routes through the same abstraction boundary.
