@@ -83,86 +83,6 @@ To obtain the environment, use either of the following approaches:
8383
8484* Assign the environment to a property in ` Program.cs ` . Check the environment using the property, for example, ` if (app.Environment.IsDevelopment()) ` .
8585
86-
87- ``` csharp
88- public void Configure (IApplicationBuilder app , IHostingEnvironment env ,
89- IConfiguration config )
90- {
91- if (env .IsDevelopment ())
92- {
93- app .Run (async (context ) =>
94- {
95- var sb = new StringBuilder ();
96- var nl = System .Environment .NewLine ;
97- var rule = string .Concat (nl , new string ('-' , 40 ), nl );
98-
99-
100- var authSchemeProvider = app .Services .GetRequiredService <IAuthenticationSchemeProvider >();
101-
102- sb .Append ($" Request{rule }" );
103- sb .Append ($" {DateTimeOffset .Now }{nl }" );
104- sb .Append ($" {context .Request .Method } {context .Request .Path }{nl }" );
105- sb .Append ($" Scheme: {context .Request .Scheme }{nl }" );
106- sb .Append ($" Host: {context .Request .Headers [" Host" ]}{nl }" );
107- sb .Append ($" PathBase: {context .Request .PathBase .Value }{nl }" );
108- sb .Append ($" Path: {context .Request .Path .Value }{nl }" );
109- sb .Append ($" Query: {context .Request .QueryString .Value }{nl }{nl }" );
110-
111- sb .Append ($" Connection{rule }" );
112- sb .Append ($" RemoteIp: {context .Connection .RemoteIpAddress }{nl }" );
113- sb .Append ($" RemotePort: {context .Connection .RemotePort }{nl }" );
114- sb .Append ($" LocalIp: {context .Connection .LocalIpAddress }{nl }" );
115- sb .Append ($" LocalPort: {context .Connection .LocalPort }{nl }" );
116- sb .Append ($" ClientCert: {context .Connection .ClientCertificate }{nl }{nl }" );
117-
118- sb .Append ($" Identity{rule }" );
119- sb .Append ($" User: {context .User .Identity .Name }{nl }" );
120- var scheme = await authSchemeProvider
121- .GetSchemeAsync (IISDefaults .AuthenticationScheme );
122- sb .Append ($" DisplayName: {scheme ? .DisplayName }{nl }{nl }" );
123-
124- sb .Append ($" Headers{rule }" );
125- foreach (var header in context .Request .Headers )
126- {
127- sb .Append ($" {header .Key }: {header .Value }{nl }" );
128- }
129- sb .Append (nl );
130-
131- sb .Append ($" WebSockets{rule }" );
132- if (context .Features .Get <IHttpUpgradeFeature >() != null )
133- {
134- sb .Append ($" Status: Enabled{nl }{nl }" );
135- }
136- else
137- {
138- sb .Append ($" Status: Disabled{nl }{nl }" );
139- }
140-
141- sb .Append ($" Configuration{rule }" );
142- var config = builder .Configuration ;
143-
144- foreach (var pair in config .AsEnumerable ())
145- {
146- sb .Append ($" {pair .Key }: {pair .Value }{nl }" );
147- }
148- sb .Append (nl );
149- sb .Append (nl );
150-
151- sb .Append ($" Environment Variables{rule }" );
152- var vars = System .Environment .GetEnvironmentVariables ();
153- foreach (var key in vars .Keys .Cast <string >().OrderBy (key => key ,
154- StringComparer .OrdinalIgnoreCase ))
155- {
156- var value = vars [key ];
157- sb .Append ($" {key }: {value }{nl }" );
158- }
159-
160- context .Response .ContentType = " text/plain" ;
161- await context .Response .WriteAsync (sb .ToString ());
162- });
163- }
164- ```
165-
16686:::code language="csharp" source="~ /test/troubleshoot/code/9.x/Program.cs" highlight="13-85":::
16787
16888## Debug ASP.NET Core apps
0 commit comments