C# 使用ASP.NET Web API跟踪内部应用程序(日志记录)
我目前有很多Web API,它们被各种应用程序使用。所有API都使用ASP.NET Web API 2和4.6.NET framework。我希望能够跟踪使用特定API的所有不同应用程序 例如: 假设我有以下API:C# 使用ASP.NET Web API跟踪内部应用程序(日志记录),c#,asp.net,asp.net-mvc,asp.net-web-api,C#,Asp.net,Asp.net Mvc,Asp.net Web Api,我目前有很多Web API,它们被各种应用程序使用。所有API都使用ASP.NET Web API 2和4.6.NET framework。我希望能够跟踪使用特定API的所有不同应用程序 例如: 假设我有以下API: 员工API-获取所有员工 我有以下调用Employees API的应用程序 员工管理系统-位于/intranet/Employee/add 请假申请表-位于/intranet/timeoff.aspx 员工管理系统使用C#代码中的HttpClient调用员工API 请假请求
- 员工API-获取所有员工
- 员工管理系统-位于
/intranet/Employee/add
- 请假申请表-位于
/intranet/timeoff.aspx
我想记录所有使用Web API的应用程序,最好记录它们调用的操作。实现这一目标的最佳方式是什么 有没有办法获取呼叫者的URI
从Web API可以知道,
/intranet/timeoff.aspx
正在调用员工API上的添加员工操作我相信您有一些选择
我相信你有几个选择
如果您可以控制调用API的应用程序,那么 提供了一些很好的建议。如果没有,那么您可能需要考虑一些引用信息,如IP地址。但是,即使这样,该值也可能不是客户端IP,而是介于客户端IP和API之间的某个值
不过,由于您使用的是Web API,您可能会考虑通过第一次运行所有请求,将调用方信息写入到日志中,然后让请求继续到适当的控制器。请参见
如果您可以控制调用API的应用程序,则 提供了一些很好的建议。如果没有,那么您可能需要考虑一些引用信息,如IP地址。但是,即使这样,该值也可能不是客户端IP,而是介于客户端IP和API之间的某个值不过,由于您使用的是Web API,您可能会考虑通过第一次运行所有请求,将调用方信息写入到日志中,然后让请求继续到适当的控制器。请看
我想您正在寻找类似的产品,您有任何类型或授权吗?类似于在标头中发送令牌,或者api完全打开吗?@Fran它是完全打开的。有些api确实有授权,但大多数都没有。我想你正在寻找类似这样的api。你有任何类型或授权吗?类似于在标头中发送令牌,或者api完全打开吗?@Fran它是完全打开的。有些API确实具有授权,但大多数都没有。