小编Pra*_*rya的帖子

在本地使用Azure Service Bus

我正在使用Azure Service Bus主题和订阅.它用于在整个应用程序中发送控制消息.消息侦听器(订阅者)以worker角色运行,他们正在拾取消息并处理请求.即使有多个侦听器同时运行,总线中的每条消息也只能被拾取一次.

使用服务总线没有问题; 但是,我们在本地调试/测试应用程序时遇到了一些问题.我们有2个服务总线,一个用于云,一个用于本地调试.现在,如果多个人同时调试应用程序,则只有一个系统(随机)选择该消息.这是预期的行为,但它在调试时会造成麻烦.

有什么办法可以将本地仿真器用于服务总线吗?我做了一些研究,但我找不到任何可靠的解决方案.我们如何单独调试应用程序?

azure azureservicebus brokeredmessage azure-servicebus-topics

11
推荐指数
2
解决办法
4615
查看次数

在ASP.NET核心中注入中间件服务

我想基于HTTP标头值注入服务.所以我有两个类--DbDataProvider和InMemDataProvider,都是从IDataProvider实现的.每当进行API调用时,客户端都会传递一个标头,该标头确定是否需要DbDataProvider或者是否需要InMemDataProvider.我如何实现这一目标?所以简而言之,我需要在其中一个中间件中的ServiceCollection中注入服务.那可能吗?

问题是在Startup类的ConfigureService方法中我无法获取HttpContext.我编写了一个中间件,使用它可以获取HTTP上下文但是如何在那里注入服务?

dependency-injection asp.net-core asp.net-core-middleware

8
推荐指数
2
解决办法
4924
查看次数

无法在 SSMS 中找到恢复数据库选项

我正在尝试使用 SSMS 在我的 SQL Server 中恢复一个 .bak 文件。
但是,当我右键单击“数据库”时,我无法在菜单栏中找到“还原数据库”选项。 在此处输入图片说明

可能的原因是什么?我是否需要更改一些 SSMS 设置。
我正在使用 SQL Server Management Studio 2014。

sql sql-server ssms database-restore ssms-2014

6
推荐指数
1
解决办法
2396
查看次数

在ASP.NET Core中找不到ClientAssertionCertificate

我有一个ASP.NET核心应用程序,我正在尝试使用证书从AAD获取访问令牌.我正在使用Microsoft.IdentityModel.Clients.ActiveDirectory版本3.13.5.907的程序集.但似乎ClientAssertionCertificate该类已从此程序集中删除.界面IClientAssertionCertificate是可用的,但我找不到任何正在实现它的类.

在ASP.NET 4.5中,我曾使用以下代码使用证书从AAD获取访问令牌(Microsoft.IdentityModel.Clients.ActiveDirectory程序集版本为3.13.4.878)

var clientCredential = new ClientAssertionCertificate(_appId, _thumbprint);
var authenticationContext = new AuthenticationContext(authority, false);
var result = await authenticationContext.AcquireTokenAsync(resource, clientCredential);
Run Code Online (Sandbox Code Playgroud)

这个类是否已在ASP.NET Core中折旧或者我遗漏了什么?

.net active-directory adal asp.net-core asp.net-core-1.0

6
推荐指数
1
解决办法
1901
查看次数

应用程序退出,退出代码为-1073740771

我有一个WPF应用程序,有时会退出,退出代码为-1073740771。该问题不会以任何方式发生,并且因系统而异。在某些系统中,此问题的发生率不到总病例数的10%,而在其他系统中,我发现该问题的发生率几乎占总病例的30%。我无法形成任何可靠的复制步骤,而且似乎是随机发生的。

症状包括:单击关闭按钮后,应用程序退出,但是在任务管理器中,我仍然可以看到该过程徘徊了约20-30秒,然后退出。该应用程序似乎正在正常关闭(从功能的角度来看),因此它可能不会对使用它的客户产生太大影响,但是错误代码正在日志中记录,这很烦人。

当我从Visual Studio调试时,也会发生此问题,但是try-catch块中没有异常。

wpf exception exit-code unmanagedresources .net-4.5

5
推荐指数
0
解决办法
1915
查看次数

在Azure搜索服务中点击突出显示

我是Azure Search Service的新手,我想使用Azure Search Service的热门突出显示功能.我使用.NET SDK NuGet包进行azure搜索.
我使用SearchParameter对象来提及命中突出显示字段以及我需要的前后标记.

searchParameters.HighlightFields = new[] { "Description"};
searchParameters.HighlightPreTag = "<b>";
searchParameters.HighlightPostTag = "</b>";
_searchIndexClient.Documents.Search(searchText, searchParameters);
Run Code Online (Sandbox Code Playgroud)

我期待这样的事情:
SearchText:最好的
结果(描述):最好的产品
问题是我没有看到使用/不使用点击突出显示的结果有任何差异.(描述字段是可搜索的)
我错过了什么?

c# azure hit-highlighting azure-cognitive-search

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

使用 StackExchange.Redis 中的 REDIS 设置命令

我需要使用一些与set操作相关的redis命令。我正在使用 StackExchange.Redis 连接到我的 redis 服务器并执行所需的操作。具体我需要执行以下操作

  • 添加项目到集合 (SADD)
  • 检查两组之间的差异 (SDIFF)
  • 获取 2 个集合之间的公共元素 (SINTER)

我可以在 IDatabase 界面中看到 SetAdd,但如何获取 SDIFF 和 SINTER 命令?

redis stackexchange.redis

3
推荐指数
1
解决办法
1787
查看次数

查询azure表以获取分区的最后插入数据

我有一个azure存储表,存储从多个源更新的状态.我有分区键作为源ID(每个源都是唯一的).现在,对于任何给定的源ID,我想访问上次更新的状态.我可以通过按时间戳按降序对分区中的结果进行排序并获取第一条记录来实现这一点,但它似乎并不是非常高效.每个分区可以有超过1000条记录,排序似乎不是最好的方法.

有没有其他方法可以以有效的方式实现同​​样的目标?分区中的实体是否已按某些行键排序,我可以利用它?

azure azure-storage azure-table-storage

2
推荐指数
1
解决办法
1008
查看次数

使用Redlocks获取Azure Redis缓存上的锁定

我有一个Azure Redis缓存,多个客户端正在使用它.缓存中的共享资源(密钥)很少需要互斥.我正在使用这里提出的redlock算法.

我的要求是每个客户端都需要以互斥的方式访问共享资源.如果客户端无法获取资源上的锁定,那么它应该以30秒的间隔继续尝试获取锁定,直到获取它为止.为防止死锁,如果进程崩溃,锁定应在5分钟后过期.

我从github检查了redock.net的文档,但我不确定如何正确使用重试,等待和到期参数来达到上述标准.任何人都可以指导我这个方向吗?或者是否有其他详细的文件?

代码是用.NET编写的,所以我使用的是StackExchange.Redis和Redlock.net

azure redis stackexchange.redis azure-redis-cache

2
推荐指数
1
解决办法
1060
查看次数

在向 Azure 主题发送消息之前重新创建主题客户端是否是一个好习惯

我正在使用 Microsoft.Azure.ServiceBus, Version=2.0.0.0 程序集连接到 Azure 主题。代码如下

public void SendMessage(Message brokeredMessage) 
{
    var topicClient = new TopicClient(_configuration.ConnectionString, topicName, _defaultRetryPolicy);
    await topicClient.SendAsync(brokeredMessage);
    await topicClient.CloseAsync();
}
Run Code Online (Sandbox Code Playgroud)

我想知道每次需要向主题发送消息时创建主题客户端是否是一个好习惯,还是应该在应用程序启动时创建主题客户端并在每次需要发送消息时继续使用相同的客户端?

我需要考虑任何性能或可扩展性问题吗?

azure azureservicebus brokeredmessage

2
推荐指数
1
解决办法
1036
查看次数

服务器到服务器通信中是否需要防伪令牌?

我有一个基于 ASP.NET Core 3.1 的 REST API。该API将被其他服务器调用,目前没有客户端应用程序调用该API。

在这种情况下我需要防伪令牌吗?另外,如果需要,如何在服务器到服务器通信场景中注入防伪令牌?

security csrf antiforgerytoken asp.net-core-webapi websecurity

2
推荐指数
1
解决办法
430
查看次数

从带有Service Bus触发器的Azure功能中的配置中引用主题和订阅名称

我有带有服务总线主题触发器的Azure服务总线。我的功能看起来像这样

[FunctionName("SbListener")]
        public static async Task Run(
            [ServiceBusTrigger("test-topic", "test-sub-1", Connection = "ServiceBus")]string message, 
            [Inject("Microsoft.EventStore.Functions", true)] IWebNotificationManagerFactory webNotificationManagerFactory,
            [Inject("Microsoft.EventStore.Functions", true)] ILogger logger)
        { ... }
Run Code Online (Sandbox Code Playgroud)

我的服务总线的配置位于local.settings.json文件中。

"ConnectionStrings": {
    "ServiceBus": "Endpoint=sb://<my-sb>.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=<my-key>"
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是我也想从配置文件中引用主题名称,而不是在中将它们硬编码ServiceBusTrigger。问题是,如果我更改了订阅名称,那么我将不得不重新部署功能代码(我想不惜一切代价避免这种情况)。

azure azureservicebus azure-servicebus-topics azure-functions

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