Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用来自不同C#类库的AWS X射线_C#_Aws Xray - Fatal编程技术网

使用来自不同C#类库的AWS X射线

使用来自不同C#类库的AWS X射线,c#,aws-xray,C#,Aws Xray,我试图将AWS X-Ray集成到我的一个应用程序中,但我感到沮丧。我觉得Amazon的文档在示例方面有点欠缺,但希望你们中的一些人能帮助我 我的主要应用程序是一个内置于C#的Web API微服务。我有一个单独的客户端调用微服务,然后微服务与1)第三方API和2)一些AWS服务(如DynamoDb和SNS)进行通信。此外,我还围绕AWS服务构建了一个包装器库,因此我没有直接调用AWSDynamoDBClient,而是通过包装器调用它 在AWS X-Ray控制台上,我可以看到与我的microserv

我试图将AWS X-Ray集成到我的一个应用程序中,但我感到沮丧。我觉得Amazon的文档在示例方面有点欠缺,但希望你们中的一些人能帮助我

我的主要应用程序是一个内置于C#的Web API微服务。我有一个单独的客户端调用微服务,然后微服务与1)第三方API和2)一些AWS服务(如DynamoDb和SNS)进行通信。此外,我还围绕AWS服务构建了一个包装器库,因此我没有直接调用AWSDynamoDBClient,而是通过包装器调用它

在AWS X-Ray控制台上,我可以看到与我的microservice之间的所有传入和传出呼叫。但是我没有看到DynamoDb的任何东西。如果我直接在微服务中创建AWSDynamoDBClient(绕过包装器),那么我将看到预期的所有流量。但是一旦我通过包装器调用它,那么什么都不会发生

我甚至试图将微服务中的
AWSXRayRecorder.Instance
注入到包装器中,但仍然一无所获。我不确定我做错了什么,现在我有点不知所措

有什么建议吗

编辑: 在AWS包装器库中,我正在执行以下操作:

client=newamazondynamodbclient();
新AWSSdkTracingHandler(记录器)。AddEventHandler(客户端)

recorder
是从调用的微服务中注入的
AWSXRayRecorder.Instance
(我不确定是否需要这样传递它,或者我是否可以直接从库中调用
AWSXRayRecorder.Instance


这不管用。如果我在microservice中编写相同的代码,那么它就可以工作,并且我可以在AWS控制台的X射线图中看到DynamoDb节点

能否请您详细描述如何使用AWS X射线配置包装器客户端。 通常,注册方式如下:


var ddbClient=新的AmazondynamodClient(RegionEndpoint.USEast1);
新的AwsSdkTracingHandler(AWSXRayRecorder.Instance).AddEventHandler(客户端);

“客户端”(AmazondynamodClient)需要注册。客户机是否已创建、已向X-Ray注册并在应用程序中使用

我们(AWS X射线团队)在AWS X射线官方论坛上非常活跃。如果将来的帖子是发到网站上的,我们更有可能快速回复

谢谢


瑜伽士

你好,瑜伽士,谢谢你的快速回复。从现在起,我将在X光论坛上发帖。我用一个片段编辑了我的问题