I am using a default ReactApp project from visual studio with net5 as framework. This by default comes with a WeatherApiController. Now the problem is, I created a DataContext (DbContext) which I am trying to inject in the ApiController.
[ApiController]
[Route("[controller]")]
public class ActivitiesController : ControllerBase
{
    private readonly DataContext _context;
    public ActivitiesController(DataContext context)
    {
        _context = context;
    }
    /// <summary>
    /// Returns an activity by id from the database
    /// </summary>
    /// <param name="id">Id of activity</param>
    /// <returns>Activity</returns>
    [HttpGet("{id}")]
    public Activity GetActivity(Guid id)
    {
        return new Activity { Category = "das", City = "city" };
    }
    [HttpGet]
    public IEnumerable<Activity> Get()
    {
        return _context.Activities.ToArray();
    }
}
now when I run this on localhost, everything is working just fine (also the API controller with the DataContext injected), but when I publish it to my domain, any endpoint coming from a controller which has the DataContext injected returns a html file instead of actually working.
 public class Startup
{
    private readonly IConfiguration _config;
    public Startup(IConfiguration config)
    {
        _config = config;
    }
    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();           
        // In production, the React files will be served from this directory
        services.AddSpaStaticFiles(configuration =>
        {
            configuration.RootPath = "ClientApp/build";
        });
        services.AddDbContext<DataContext>(options =>
        {
            options.UseMySql(_config.GetConnectionString("DefaultConnection"), ServerVersion.AutoDetect(_config.GetConnectionString("DefaultConnection")));
        });
    }
    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
        }
        app.UseStaticFiles();
        app.UseSpaStaticFiles();
        app.UseRouting();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllerRoute(
                name: "default",
                pattern: "{controller}/{action=Index}/{id?}");
        });
        app.UseSpa(spa =>
        {
            spa.Options.SourcePath = "ClientApp";
            if (env.IsDevelopment())
            {
                spa.UseReactDevelopmentServer(npmScript: "start");
            }
        });
    }
}
I added the DataContext as db context in Startup.cs.
Edit: I managed to get an exception by addin a try catch block as following:
public async Task<List<Activity>> Handle(Query request, CancellationToken cancellationToken)
{
         try
         {
                return await _context.Activities.ToListAsync();
         }
         catch (Exception ex)
         {
                List<Activity> activities = new List<Activity>();
                activities.Add(new Activity { Description = ex.Message });
                return activities;
         }
}
And this is the message I get:
Error constructing handler for request of type MediatR.IRequestHandler
2[Application.Reactivities.Activities.List+Query,System.Collections.Generic.List1[Domain.Reactivities.Activity]]. Register your handlers with the container
What could cause the published version only to behave like this and hit this exception when using the DataContext?
Second Edit: I finally managed to log my innerexception and what is going on here is that in production for some reason the database (Google Cloud Sql Database) is timing out on connect.