Skip to content

When I try to create a handler in the client for a gRPC service HttpClientHandler.ClientCertificates is null #73960

@ComptonAlvaro

Description

@ComptonAlvaro

Description

I open this issue because I opened in the maui project and they told that this is more a problem of dotnet.

this is the maui project: https://github.com/dotnet/maui

this is the issued that I opened in the maui project: dotnet/maui#9430

DESCRIPTION OF THE PROBLEM

I have added anyway a zip with a project that reproduces t he problem.

I have a solution with 3 project. All projects are targeted as .NET 6.0.

First one is a class library with one class, in which constructor I have this code:

    public MyLibraryClass()
    {
        HttpClientHandler miHttpHandler = new HttpClientHandler();
    }

The second project is a MAUI project.

In the click button of the main page I have this code:

private async void OnBtnPingClicked(object sender, EventArgs e)
{
	MyLibraryClass myClass = new MyLibraryClass();
}

The third project is a WPF project, in which in a click event of a button in the main window I have this code in the code-behind:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        MyLibraryClass myClass = new MyLibraryClass();
    }

When I debug the WPF project and set a breakpoint at the end of the method, the prperty miHandler.ClientCertificates in the method in the library class is not null. However, if I debug the MAUI project in an android phone and debug, the property miHandler.ClientCertificates is null.

My objective it is to use a gRPC client that uses certificates and I could use in many clients, MAUI and WPF in this case. But if the ClientCertificates property is null, I can't set the certificates in the MAUI project.

Thanks.
HttpHandlerError.zip

Reproduction Steps

1.- Create a new solution.
2.- Create a class library with target is .NET 6.0.
3.- Create a class with a method with the code that create a new HttpCientHander.
4.- Create a MAUI project with target .NET 6.0.
5.- Create a button that instantiate an object of the class library.
6.- Debug the MAUI project and see the value of the property miHanlder.ClientCertificates. It should to be null (this is the error)
7.- Create a WPF application that targets .NET 6.0.
8.- Add a new button which code instantiate an onject of type of the class in the library.
9.- Debug the WPF project and check the value of miHandler.ClientCertificates property. It should be not null. This is correct.

Expected behavior

That handler.ClientCertificates wouldn't be null.

Actual behavior

That handler.ClientCertificates is null.

Regression?

No response

Known Workarounds

No response

Configuration

No response

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions