private static async Task <Option <ArticleView, Error> > PublishArticleOrErrorAsync( PublishArticle article, ArticleService.ArticleServiceClient client) { try { var view = await client.PublishAsync(article); return(view.Some <ArticleView, Error>()); } catch (RpcException) { return(Option.None <ArticleView, Error>( Error.Critical("An unhandled exception occured while persisting the article."))); } }
public ArticleService.ArticleServiceClient Create() { //var certificate = new X509Certificate2(_settings.CertFileName, _settings.CertPassword); var handler = new HttpClientHandler(); //handler.ClientCertificates.Add(certificate); var httpClient = new HttpClient(handler); var channelOptions = new GrpcChannelOptions { HttpClient = httpClient, LoggerFactory = _loggerFactory }; var channel = GrpcChannel.ForAddress(_settings.ArticlesServerUrl, channelOptions); var client = new ArticleService.ArticleServiceClient(channel); return(client); }