我有一个Continuous Azure Webjob,可以检查来自QueueTrigger的每条消息的DocumentDb。使用DocumentDB SDK 1.10 for .NET。我不时会收到这样的错误:
通常只允许使用每个套接字地址(协议/网络地址/端口):443 在Microsoft.Azure.Documents.Client.GatewayServiceConfigurationReader.d__0.MoveNext()
我通过JobActivator进行依赖注入(StructureMap),并使用非静态方法处理Functions类中的队列触发器。使用
DocumentClient包装在一个静态类中,因此每个WebJob应该是一个实例。
此外,一些Web应用程序(ASP.NET MVC)会不时使用自己的文档数据库连接和相同的连接字符串。我找不到有关此问题的任何信息。这里可能出现什么问题?
更改了内部代码:
class Program
{
public static IReliableReadWriteDocumentClient Client { get; set; }
static void Main()
{
Client = // initialize client with settings from app config
}
}
public class Functions
{
public async Task ProcessQueueMessage([QueueTrigger("myqueuename")] CustomerRequest customerRequest,
TextWriter dashboardLogger)
{
// usage from some place which runs on QueueTrigger
var customerRepository = new DocumentDbRepository<Customer>(Program.Client, databaseId,
() => "Customers");
// additional logic
}
}