October 31, 2024 · 2 min read
How do you resolve a 'No bindings were found in the function $func' error when using Azure Functions?
December 12, 2023 · 2 min read
During my recent project where I migrated an ASP.NET Core application to Azure SignalR Service, I encountered a notable issue with HttpContext. In standard ASP.NET SignalR setups, I could easily access HttpContext via IHttpContextAccessor in my Hub class. This approach had been working flawlessly for me for years. However, after the migration to Azure SignalR Service, I noticed that IHttpContextAccessor didn't provide the same level of information. This change is understandable, considering the connection in Azure SignalR Service is between the client and Azure, rather than directly to my server's hub. To adapt, I shifted my strategy to directly pass essential data, such as timezone information, from the client to the hub. This method of passing parameters directly turned out to be a more efficient solution. Additionally, I appreciated how Azure SignalR Service manages IPrincipal information from HttpContext, which is useful for identity management using the Context.User property. This experience was a valuable addition to my ongoing journey of mastering evolving technologies in the .NET and Azure ecosystems.
June 21, 2023 · 5 min read
In this article, I highlight five reasons I love using HangFire to create background services in my .NET applications. First, HangFire's setup process is extremely straightforward - I need to install the NuGet package and do a bit of configuration. Second, HangFire allows me to use my existing code, thus reducing any dependency on specific vendors and increasing the flexibility of my applications. The third factor I appreciate is the user-friendly dashboard of HangFire, which provides a clear and concise overview of all my running, failed, and scheduled jobs. Fourth, HangFire simplifies the process of scheduling and creating recurring jobs, offering flexible configurations to suit my needs. Lastly, HangFire's error management system is commendable. It attempts to run a job multiple times if it fails, making my debugging process significantly more efficient. I also introduce my new course on HangFire in the article, aiming to help others improve the performance and scalability of their .NET applications using this remarkable tool.