コード例 #1
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
            [CosmosDB(
                 databaseName: "Subscriptions",
                 collectionName: "Items",
                 ConnectionStringSetting = "ms-account-profile-informationDBConnection")] DocumentClient client,
            ILogger log)
        {
            log.LogInformation("SubscriptionTriggerCount Request Started.");

            try
            {
                var service = new SubscriptionService(client);
                var count   = await service.Count();

                return(new OkObjectResult(count));
            }
            catch (Exception ex)
            {
                var exception = new ApplicationException("Error Occuered", ex);
                return(new BadRequestObjectResult(exception));
            }
            finally
            {
                log.LogInformation("SubscriptionTriggerCount Request Ended.");
            }
        }
コード例 #2
0
        public static async void SendSignalRMessage(
            [CosmosDBTrigger(
                 databaseName: "Subscriptions",
                 collectionName: "Items",
                 ConnectionStringSetting = "ms-account-profile-informationDBConnection",
                 LeaseCollectionName = "leases",
                 CreateLeaseCollectionIfNotExists = true)] IReadOnlyList <Document> documents,
            [CosmosDB(
                 databaseName: "Subscriptions",
                 collectionName: "Items",
                 ConnectionStringSetting = "ms-account-profile-informationDBConnection")] DocumentClient client,
            [SignalR(ConnectionStringSetting = "SignalRConnection", HubName = "msaccountprofileinformationhub")] IAsyncCollector <SignalRMessage> signalRMessages,
            ILogger log)
        {
            log.LogInformation($"{nameof(SendSignalRMessage)} Request Started.");

            try
            {
                var service = new SubscriptionService(client);
                var count   = await service.Count();

                await signalRMessages.AddAsync(
                    new SignalRMessage
                {
                    Target    = "SignalRSubscriptionCountEvent",
                    Arguments = new[] { new SignalRNotification {
                                            Count = count
                                        } }
                });
            }
            catch (Exception ex)
            {
                var exception = new ApplicationException("Error Occuered", ex);
                log.LogError(exception, $"{nameof(SendSignalRMessage)}");
            }
            finally
            {
                log.LogInformation($"{nameof(SendSignalRMessage)} Request Ended.");
            }
        }