[grpc-io] Re: Updates on gRPC C# (Grpc.Core) support

2023-03-22 Thread Benjamin Krämer
Since May is approaching fast, I just want to remind everyone again, that https://github.com/dotnet/aspnetcore/issues/35077 is still not considered for ASP.NET Core 8 and whoever is currently using Grpc.Core on Android or with MAUI will be left without a way forward. We on our part are

[grpc-io] Re: Updates on gRPC C# (Grpc.Core) support

2022-05-18 Thread Benjamin Krämer
Hello gRPC C# users, I also wanted to forward your attention to https://github.com/dotnet/aspnetcore/issues/35077 in case you are affected by the note that grpc-dotnet is not supporting Xamarin and that support for it in general will probably get dropped once Grpc.Core is EOL. It would be a

[grpc-io] grpc-dotnet on Xamarin.Android

2021-06-15 Thread Benjamin Krämer
We saw the announcement that Grpc.Core will be deprecated now. We have the use case to run a gRPC service hosted in an Android application. With Grpc.Core, that's easily possible, since monoandroid90 supports netstandard2.1. We saw, that Grpc.AspNetCore.Server needs netcoreapp3.0 or net5.0 as

[grpc-io] Name resolution in C# / grpclb selection

2020-09-01 Thread Benjamin Krämer
I had the problem already some years ago (https://github.com/grpc/grpc/issues/11879). In the meantime, we helped us out by using grpclb for name resolution purposes. We also discussed about other solutions: https://github.com/grpc/grpc/pull/13639 There also is the long plan to have a public

Re: [grpc-io] Re: gRPC inproc transport

2019-05-29 Thread Benjamin Krämer
It seems this got lost with moving away from grpc.github.io. I stumbled over it myself and wasted some time searching for it since I thought it's finally possible. I made a thread discussing this already back in 2016: https://groups.google.com/forum/#!topic/grpc-io/3KRk-72cqyE We used a

[grpc-io] Re: How to create a 2-way authentified connection between nodes ? (C#)

2019-03-21 Thread Benjamin Krämer
You need to use the SslCredentials constructor that receives the root certificate in order to trust it or to add the root certificate to your trust store of your machine: var channelCredentials = new SslCredentials(File.ReadAllText("roots.pem")); // Load a custom roots file. var channel = new

[grpc-io] Re: How to create a 2-way authentified connection between nodes ? (C#)

2019-03-21 Thread Benjamin Krämer
If you are not interested on the "who", you are fine with using only the server side certificate. No need for cliente certificate. This establishes an encrypted connection that you can use to do the AuthN on the higher level. You can use self-signed certificates, just make sure it's trusted by

[grpc-io] Re: I'm hoping for some quick help - missing services file after generating stubs

2019-03-21 Thread Benjamin Krämer
I assume you only did the "--ruby_out=" parameter? You also have to add the "--grpc_out=" parameter to create the service files. Please see https://grpc.io/docs/tutorials/basic/ruby.html#generating-client-and-server-code for more information. -- You received this message because you are

[grpc-io] Re: Serialize .net objects defined in .proto file

2019-03-19 Thread Benjamin Krämer
You have to create a message that reflects the information from System.Version that interests you. There is no direct mapping, you can achieve something close by writing an implicit cast operator or an extension method if you don't want to do it manually and have it in many places.

[grpc-io] Re: client only in c#

2019-03-19 Thread Benjamin Krämer
Please have a look at https://github.com/grpc/grpc/blob/master/src/csharp/BUILD-INTEGRATION.md You can either change this through Visual Studio by clicking on the proto and choose "Client only" from the "gRPC Stub Classes" entry. Or you can update the entry in your csproj: -- You

[grpc-io] Re: trouble in loading example C# solution in VS2015 Update 3

2019-03-19 Thread Benjamin Krämer
I just created a PR (https://github.com/grpc/grpc/pull/18429) to fix this misleading information and the broken link. -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email

[grpc-io] Re: trouble in loading example C# solution in VS2015 Update 3

2019-03-19 Thread Benjamin Krämer
Visual Studio 2015 Update 3 supports the new csproj format, but only the build tools for .NET Core 1.0. Helloworld is targeting netcoreapp2.1 which needs at least Visual Studio 2017 in the version 15.3. The README.md here is outdated and might be from a time where they targeted netcoreapp1.0.

[grpc-io] Re: How to create a 2-way authentified connection between nodes ? (C#)

2019-03-19 Thread Benjamin Krämer
See https://grpc.io/docs/guides/auth.html#with-server-authentication-ssltls-3 You still have to use a certificate in PEM format. There are some workarounds to use the Windows Certificate Store, but now direct way that I know (in case you are looking into that). -- You received this message

[grpc-io] Re: Evolution of gRPCLB

2019-03-01 Thread Benjamin Krämer
We are currently using GRPCLB to workaround the missing name resolver support in C# (https://github.com/grpc/grpc/issues/11879). We will switch to xDS once it's implemented, but would still appreciate to get a possibility to use external name resolvers in c-core (doesn't have to be C#).

[grpc-io] Re: C# server streaming interceptor

2019-02-18 Thread Benjamin Krämer
Hi Mark, the problem should be that you are directly returning the Task returned by continuation instead of awaiting it. Therefore, it's not unwrapped and not even checked at this point. You can see an example of how to intercept it (also using async/await) in my OpenTracing interceptor for

[grpc-io] Re: Guidance on implementing support for authenticated and secure client connections

2018-11-19 Thread Benjamin Krämer
Yang Gao is right, those get intentionally dropped. You should not workaround that and send them over a unsecured medium if you are not absolutely sure this is no security risk: Like when this application never gets in contact with the internet and only runs inside of a company network. --

[grpc-io] Re: Future of github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc?

2018-11-19 Thread Benjamin Krämer
Hi Tom, https://github.com/grpc-ecosystem/grpc-opentracing is not maintained anymore. So please use https://opentracing.io/ as main source. This will forward you to https://github.com/opentracing-contrib/ (that you already found). There we maintain all of the OpenTracing related contributions,

[grpc-io] Re: How best to implement registration system on unkonwn environments?

2018-10-10 Thread Benjamin Krämer
If I understood that correctly, you want to use gRPC (server + client) only on the same machine? You can always use ports in the range 1024 to 49151 since they are not reserved by the system and also not dynamically assigned. Do you know what machines this will run on? I usually just have the

[grpc-io] Re: Capture and return SSL errors to client

2018-10-05 Thread Benjamin Krämer
Just had the same problem at a customer site and costed me an hour to find out that I used the wrong certificate files. Had to enable logging and check the errors in there to see the SSL_VERIFY_FAILED. The channel itself only went to TransientFailure. Using C#, so not much look their either.

[grpc-io] Re: Best practice for stream usage?

2018-10-04 Thread Benjamin Krämer
Take it with a grain of salt since I'm not part of the gRPC team, but I will answer to the best of my understanding. If you have multiple gRPC streaming RPCs on the same channel, it will all be multiplexed over the same connection. Using a non-streamed RPC per instrument has a bigger overhead.

[grpc-io] Re: RpcException when calling MoveNext C#

2018-10-04 Thread Benjamin Krämer
I think technically, the while (await requestStream.MoveNext()) on your server side could also throw an exception if the client stream throws an exception. But since all Tasks seems to be awaited and since you get back in the while loop, this shouldn't be the problem. My best guess is that any

[grpc-io] Re: RpcException when calling MoveNext C#

2018-10-03 Thread Benjamin Krämer
If you have a look at https://github.com/grpc/grpc/blob/master/src/csharp/Grpc.Core/Internal/ServerCallHandler.cs#L340 this usually happens if the server throws any exception that is not of the type RpcException. -- You received this message because you are subscribed to the Google Groups

[grpc-io] Re: RpcException when calling MoveNext C#

2018-10-03 Thread Benjamin Krämer
Looks to my like the server side threw an exception. Can you also paste the server side? -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to

[grpc-io] Re: is this the correct way of using grpc ?

2018-10-03 Thread Benjamin Krämer
You can use the Any type with any proto message.Since PersonFilter is now a proto message and not any java class, it should definetly work. You should also check the type of the any before deserializing it if you want to support multiple ones. Not sure how this looks like in Java since I'm

[grpc-io] Re: is this the correct way of using grpc ?

2018-10-02 Thread Benjamin Krämer
It looks like you wanted to keep the Pagination message independant of your Person message in https://github.com/omidp/grpc-crud/blob/master/grpc-proto/src/main/proto/main.proto Instead of doing it through bytes, you should prefer the Any type (google.protobuf.Any) which you already import but

Re: [grpc-io] Re: Using DNS Authority in C# client

2018-09-13 Thread Benjamin Krämer
I just remember one part that you may do wrong or forgot to change. Please have a look here: https://github.com/grpc/grpc/pull/13639/files#diff-95a6267c94be812577498d9af5749732R301 This includes information on what scheme to register. The last thing in line #301 is the "grpclb". What have you

Re: [grpc-io] Re: Using DNS Authority in C# client

2018-09-13 Thread Benjamin Krämer
t; `\grpc\src\grpc\src\core\ext\filters\client_channel\resolver\dns\`. > I know that we have to make a change to the scheme (which basically tells > which resolver to pick), but I don't know where exactly. If you know then > PLMK. > > Thnaks > >> On Mon, Sep 10, 2018 a

[grpc-io] Re: Using DNS Authority in C# client

2018-09-10 Thread Benjamin Krämer
You would also have to register the resolver. You can have a look at my PR that wasn't merged yet since it's still undecided how the API should look like: https://github.com/grpc/grpc/pull/13639/files -- You received this message because you are subscribed to the Google Groups "grpc.io"

[grpc-io] [C#] OpenTracing implementation available

2018-05-28 Thread Benjamin Krämer
Hey :) I know, everyones new favorite child is OpenCensus right now, but since the C# implementation is still on it's way, and some others may also be looking for it: I just NuGet released the first version of *OpenTracing.Contrib.Grpc*, the OpenTracing instrumentation library for gRPC on C#.

[grpc-io] Re: [C#] Requirement of valid response object when status in non-OK in unary server call

2018-05-14 Thread Benjamin Krämer
One workaround that I know works is to throw an RpcException: throw new RpcException(new Status(StatusCode.Aborted, "Interceptor aborted" )); -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails

[grpc-io] Re: Some questions after seeing the Grpc concepts...

2018-03-29 Thread Benjamin Krämer
Hi, nice that you have a look at gRPC. I will answer your questions one by one. > >- RXJS seems like a perfect library to build into this - specifically >because it supports returning 1 or a stream of something. Would also > handle >the timeout case with RX's built in primitives

Re: [grpc-io] Re: OpenCensus vs. OpenTracing

2018-02-28 Thread Benjamin Krämer
pc > instrumentation has 412 unique ips downloading from maven central. > Other language mileage may vary. > > Point being that I don't think there's many impacted by whatever's out > there right now, that or they are very good at proxying downloads. > > -A > >

[grpc-io] C# grpc context

2018-02-27 Thread Benjamin Krämer
In Java, there is a io.grpc.Context class which let's you store key-value-pairs inside a thread. Is there anything similar in C#? It would be nice to be able to get data into ServerCallContext, like the active OpenTracing span for the current server handle to the client call. For the moment, I

[grpc-io] Re: OpenCensus vs. OpenTracing

2018-02-25 Thread Benjamin Krämer
Tracing > support but someone from the gRPC team would need to say definitively. > > On Friday, February 23, 2018 at 7:28:41 AM UTC-8, Benjamin Krämer wrote: >> >> I looked a bit into tracing with gRPC lately and I often read about the >> plans to have OpenCensus direct

[grpc-io] OpenCensus vs. OpenTracing

2018-02-23 Thread Benjamin Krämer
I looked a bit into tracing with gRPC lately and I often read about the plans to have OpenCensus directly integrated. It looks that it's already implemented in some platforms (java?). On the other side, there are some platforms in grpc-ecosystem

[grpc-io] Re: How do I specify field masks for a field of a Repeated Field?

2018-02-21 Thread Benjamin Krämer
I don't know the java implementation, but if it supports sub fields for repeated fields, the path in FieldMask would be "cats.name". I know that C++ is not supporting sub-fields in repeated fields since I looked into it myself today. Am Samstag, 17. Februar 2018 02:59:07 UTC+1 schrieb Shelley

[grpc-io] Re: Problem of request validation by hash signature.

2018-02-08 Thread Benjamin Krämer
I haven't used the python API and don't know if and at what level intercepting is implemented. But it sound's like a better plan to do this based on the transmitted data (client: after serialization, server: bevore deserialization) instead of manually serializing it. Am Donnerstag, 8. Februar

[grpc-io] Re: gRPC to stream binary image data from database: Intended use case or not?

2018-02-08 Thread Benjamin Krämer
Hi Jorn, I did some tests with larger amounts myself and it just seems to work fine. Not sure about the plans for future releases. gRPC has a maximum message limit that defaults to 4 MB but that you can adjust (as send limit and receive limit). You may want to have a look at this GitHub issue

[grpc-io] Re: [C++] grpc::SslServerCredentialsOptions::pem_root_certs option

2018-02-04 Thread Benjamin Krämer
Hi Arpit, I would assume (by the name) that it's for the root certificate. So if you use a self-signed certificate with pem_key_cert_pairs (signed with your self-generated root certificate and not by a paid service like COMODO), you have to establish the trust yourself. Normally, the system