-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathAutoClientAttribute.xml
155 lines (155 loc) · 9.57 KB
/
AutoClientAttribute.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<Type Name="AutoClientAttribute" FullName="Microsoft.Extensions.Http.AutoClient.AutoClientAttribute">
<TypeSignature Language="C#" Value="public sealed class AutoClientAttribute : Attribute" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit AutoClientAttribute extends System.Attribute" />
<TypeSignature Language="DocId" Value="T:Microsoft.Extensions.Http.AutoClient.AutoClientAttribute" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class AutoClientAttribute
Inherits Attribute" />
<TypeSignature Language="F#" Value="type AutoClientAttribute = class
 inherit Attribute" />
<TypeSignature Language="C++ CLI" Value="public ref class AutoClientAttribute sealed : Attribute" />
<AssemblyInfo>
<AssemblyName>Microsoft.Extensions.Http.AutoClient</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Attribute</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.AttributeUsage(System.AttributeTargets.Interface)]</AttributeName>
<AttributeName Language="F#">[<System.AttributeUsage(System.AttributeTargets.Interface)>]</AttributeName>
</Attribute>
<Attribute>
<AttributeName Language="C#">[System.Diagnostics.Conditional("CODE_GENERATION_ATTRIBUTES")]</AttributeName>
<AttributeName Language="F#">[<System.Diagnostics.Conditional("CODE_GENERATION_ATTRIBUTES")>]</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="net-10.0-pp;net-8.0-pp;net-9.0-pp">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(0)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(0)>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>
Triggers the generation of REST APIs and provides information about the HTTP client and, optionally, the name of the dependency.
</summary>
<remarks>
This attribute triggers the production of REST APIs and provides information about the HTTP client and optionally the name of the dependency.
It can only be applied to interfaces and their name must start with an 'I', for example <c>IMyClient</c>.
This attribute must receive as a first parameter the HTTP client name to be retrieved from the <see cref="T:System.Net.Http.IHttpClientFactory" />.
Optionally, it may receive a second parameter that will set the <c>dependency name</c> used in generated telemetry. If this value is not set, it will use the name of the interface
without the leading 'I'.
If the interface name ends in 'Client' or 'Api', the dependency name will exclude that. Example: <c>IMyDependencyClient</c> would result in dependency name <c>MyDependency</c>.
</remarks>
<example>
<code>
[AutoClient("MyClient")]
interface IMyDependencyClient
{
}
</code>
</example>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public AutoClientAttribute (string httpClientName);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string httpClientName) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Extensions.Http.AutoClient.AutoClientAttribute.#ctor(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (httpClientName As String)" />
<MemberSignature Language="F#" Value="new Microsoft.Extensions.Http.AutoClient.AutoClientAttribute : string -> Microsoft.Extensions.Http.AutoClient.AutoClientAttribute" Usage="new Microsoft.Extensions.Http.AutoClient.AutoClientAttribute httpClientName" />
<MemberSignature Language="C++ CLI" Value="public:
 AutoClientAttribute(System::String ^ httpClientName);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Extensions.Http.AutoClient</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="httpClientName" Type="System.String" />
</Parameters>
<Docs>
<param name="httpClientName">The name of the HTTP client to be retrieved from <see cref="T:System.Net.Http.IHttpClientFactory" />.</param>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.Http.AutoClient.AutoClientAttribute" /> class.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public AutoClientAttribute (string httpClientName, string customDependencyName);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string httpClientName, string customDependencyName) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Extensions.Http.AutoClient.AutoClientAttribute.#ctor(System.String,System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (httpClientName As String, customDependencyName As String)" />
<MemberSignature Language="F#" Value="new Microsoft.Extensions.Http.AutoClient.AutoClientAttribute : string * string -> Microsoft.Extensions.Http.AutoClient.AutoClientAttribute" Usage="new Microsoft.Extensions.Http.AutoClient.AutoClientAttribute (httpClientName, customDependencyName)" />
<MemberSignature Language="C++ CLI" Value="public:
 AutoClientAttribute(System::String ^ httpClientName, System::String ^ customDependencyName);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Extensions.Http.AutoClient</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="httpClientName" Type="System.String" />
<Parameter Name="customDependencyName" Type="System.String" />
</Parameters>
<Docs>
<param name="httpClientName">The name of the HTTP client to be retrieved from <see cref="T:System.Net.Http.IHttpClientFactory" />.</param>
<param name="customDependencyName">The dependency name override to use.</param>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Extensions.Http.AutoClient.AutoClientAttribute" /> class.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CustomDependencyName">
<MemberSignature Language="C#" Value="public string? CustomDependencyName { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string CustomDependencyName" />
<MemberSignature Language="DocId" Value="P:Microsoft.Extensions.Http.AutoClient.AutoClientAttribute.CustomDependencyName" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property CustomDependencyName As String" />
<MemberSignature Language="F#" Value="member this.CustomDependencyName : string" Usage="Microsoft.Extensions.Http.AutoClient.AutoClientAttribute.CustomDependencyName" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ CustomDependencyName { System::String ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Extensions.Http.AutoClient</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="net-10.0-pp;net-8.0-pp;net-9.0-pp">
<AttributeName Language="C#">[System.Runtime.CompilerServices.Nullable(2)]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.CompilerServices.Nullable(2)>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the custom dependency name of the API. This is used in generated telemetry.
</summary>
<value>To be added.</value>
<remarks>
If this value is not set, then for the dependency name it will use the name of the interface without the leading 'I' with trimming 'Client' or 'Api' at the end.
</remarks>
</Docs>
</Member>
<Member MemberName="HttpClientName">
<MemberSignature Language="C#" Value="public string HttpClientName { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string HttpClientName" />
<MemberSignature Language="DocId" Value="P:Microsoft.Extensions.Http.AutoClient.AutoClientAttribute.HttpClientName" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property HttpClientName As String" />
<MemberSignature Language="F#" Value="member this.HttpClientName : string" Usage="Microsoft.Extensions.Http.AutoClient.AutoClientAttribute.HttpClientName" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::String ^ HttpClientName { System::String ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Extensions.Http.AutoClient</AssemblyName>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the HTTP client name of the API.
</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>