小编Mar*_*cci的帖子

EF Code First"无效的列名'Discriminator'"但没有继承

我的数据库中有一个名为SEntries的表(参见下面的CREATE TABLE语句).它有一个主键,几个外键,没有什么特别之处.我的数据库中有许多类似于那个表,但由于某种原因,该表最终在EF代理类上有一个"Discriminator"列.

这是在C#中声明类的方式:

public class SEntry
{
    public long SEntryId { get; set; }

    public long OriginatorId { get; set; }
    public DateTime DatePosted { get; set; }
    public string Message { get; set; }
    public byte DataEntrySource { get; set; }
    public string SourceLink { get; set; }
    public int SourceAppId { get; set; }
    public int? LocationId { get; set; }
    public long? ActivityId { get; set; }
    public short OriginatorObjectTypeId { get; set; }
}

public class …
Run Code Online (Sandbox Code Playgroud)

entity-framework ef-code-first

144
推荐指数
5
解决办法
10万
查看次数

每个Web服务器的Azure Service Bus主题订阅

我正在努力将SignalR体验集成到Azure基础架构中.

基本上,用户会在网站上采取一些操作,触发Web服务器上的函数调用(通过SignalR).处理该请求可能需要一些时间,用户可以通过单击发送数十个或数百个请求.我正在创建一个Service Bus队列来将这些任务发送给WebJob/Worker来处理它们,一旦它们准备好,它们就会将它发送回另一个队列(响应队列).

也就是说,为了提供令人敬畏的用户体验,如果用户仍然处于与以前相同的页面上,并且如果处理已准备好,我希望它在这些任务完成时实时更新它们.如果用户固定在一个前端盒子上(由于SignalR WebSocket连接),这应该是微不足道的,但事实并非如此,因此不同的前端可能需要处理该响应消息并通过SignalR调用浏览器.

当我在第一个队列中发布消息时,我将包括SignalR ConnectionId.响应完成后,ConnectionId包含在响应消息中,这使我有机会进行呼叫.

HubContext.Clients.Client(connectionId).AddItemsResult(response);
Run Code Online (Sandbox Code Playgroud)

我的问题是关于服务总线主题 - 或另一种我不完全理解的解决方案.我需要通知每个WebServer处理每个响应,因为我无法确定哪个Web服务器实际上会将SignalR调用到客户端.

1)服务总线主题是正确的方法吗?

2)我需要动态地创建N个订阅(每个Web服务器一个),这似乎很奇怪.如果服务器死了又永远不会回来会怎么样?我有一个订阅,不再有订阅者?

基本上,我只是想创建一个简单的发布者 - 订阅者模式,我可以在他们上线时拥有N个动态订阅者(听众).

asp.net azure signalr azureservicebus

5
推荐指数
1
解决办法
191
查看次数