C# 如何在.Net核心MVC中调用Azure Signaler的CosmosDBTrigger和HttpResponseMessage?

C# 如何在.Net核心MVC中调用Azure Signaler的CosmosDBTrigger和HttpResponseMessage?,c#,asp.net-core,.net-core,signalr,azure-cosmosdb,C#,Asp.net Core,.net Core,Signalr,Azure Cosmosdb,我有一个.Net Core Web MVC应用程序,我想在CosmosDB中触发更改提要时,使用Azure Signal向客户端发送通知 FeedToSignalR触发CosmosDB中的新数据,并通过SignalR向客户端广播 信号配置初始化信号器Websocket连接 问题是我不知道如何调用这个方法 我可以调用我的程序.cs或启动.cs中的方法吗 公共静态类信号配置 { 私有静态AzureSignalR=new AzureSignalR(Environment.GetEnvironmentV

我有一个.Net Core Web MVC应用程序,我想在CosmosDB中触发更改提要时,使用Azure Signal向客户端发送通知

FeedToSignalR触发CosmosDB中的新数据,并通过SignalR向客户端广播

信号配置初始化信号器Websocket连接

问题是我不知道如何调用这个方法

我可以调用我的程序.cs启动.cs中的方法吗

公共静态类信号配置
{
私有静态AzureSignalR=new AzureSignalR(Environment.GetEnvironmentVariable(“AzureSignalRConnectionString”);
/// 
///此HttpTriggered函数将信号器配置返回给web客户端。
/// 
[功能名称(“信号配置”)]
公共静态HttpResponseMessage运行([HttpTrigger(AuthorizationLevel.Anonymous)]HttpRequestMessage请求,TraceWriter日志)
{
返回请求CreateResponse(HttpStatusCode.OK,
新的{
hubUrl=signal.GetClientHubUrl(“cosmicServerlessHub”),
accessToken=Signal.GenerateAccessToken(“cosmicServerlessHub”)
});
}
}
公共静态类FeedToSignal
{
私有静态AzureSignalR=new AzureSignalR(Environment.GetEnvironmentVariable(“AzureSignalRConnectionString”);
/// 
///此函数在Cosmos DB数据库中的新文档时触发,并将其广播到连接到Signal的客户端。
/// 
[功能名称(“FeedToSignalR”)]
公共静态异步任务运行([CosmosDBTrigger(
数据库名称:“ToDoList”,
collectionName:“项目”,
ConnectionString设置=“AzureCosmosDBConnectionString”,
leaseconnectionstringset=“AzureCosmosDBConnectionString”,
CreateLeaseCollectionIfNotExists=true,
LeaseCollectionName=“租赁”)]IReadOnlyList文档,TraceWriter日志)
{
if(documents!=null&&documents.Count>0)
{
var广播=文档。选择((d)=>新建
{
id=d.GetPropertyValue(“id”),
价格=d.GetPropertyValue(“价格”)
});
wait signal.SendAsync(“cosmicServerlessHub”,“NewMessages”,JsonConvert.SerializeObject(broadcast));
}
}
}

这是两个由不同事件触发的函数。 您的FeedToSignalR正在使用,如函数代码上方的注释所述,当在Items集合中添加新文档时,它将自动触发

另一方面,信号配置使用的是,每当对其HTTP端点进行HTTP调用时,就会调用它

如果我正确识别代码,它来自

根据:

  • 调用SignalConfiguration函数以获取配置
  • 当键入新消息时,它将通过调用
  • 然后,集合中的新文档将触发who,who将通过信号R发送它

  • 是的,这就是代码。我认为问题在于我没有json“function.json”like here“”来绑定Cosmos DB触发器,而另一个json绑定HTTP触发器

    这个“”示例正是我想要的,但是朱先生使用了.Net标准,我需要在.Net核心MVC或更好的.Net框架MVC中执行此操作。网页上有一幅架构图,描述了我想做的事情,我试着用你的例子再现了步骤3到5


    我需要做的唯一一件事是,将两个json文件放在我的项目中,以绑定HTTP触发器和Cosmos DB触发器?.Net核心项目如何知道调用json文件?

    我需要做的唯一一件事是,将两个json文件放在我的项目中,以绑定HTTP触发器和Cosmos DB触发器?Net核心项目如何知道调用json文件?我不明白。您的问题是关于触发器如何工作还是如何使该示例工作?如果是前者,我会在我的回答中说明。如果是后者,只需将存储库原样(克隆)即可,说明位于。