You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PolyglotNotebooksStudy/Docs/多语言笔记.4.1.使用WebApi.ipynb

633 lines
61 KiB
Plaintext

{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# 使用 ASP.NET Croe WebApi"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 添加 Nuget 包"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div><div><strong>Restore sources</strong><ul><li><span>https://api.nuget.org/v3/index.json</span></li></ul></div><div></div><div><strong>Installed Packages</strong><ul><li><span>microsoft.dotNet.interactive.aspnetcore, 1.0.0-beta.24229.4</span></li></ul></div></div>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"Loading extension script from `C:\\Users\\ruyu\\.nuget\\packages\\microsoft.dotnet.interactive.aspnetcore\\1.0.0-beta.24229.4\\interactive-extensions\\dotnet\\extension.dib`"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"// 可以先添加包源\n",
"#i \"https://api.nuget.org/v3/index.json\"\n",
"\n",
"//添加 Nuget 包\n",
"#r \"nuget: microsoft.dotNet.interactive.aspnetcore,*-*\""
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## 使用端点放出API"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div class=\"http-response-message-container\"><style type=\"text/css\">\r\n",
" .http-response-message-container {\r\n",
" display: flex;\r\n",
" flex-wrap: wrap;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div {\r\n",
" margin: .5em;\r\n",
" padding: 1em;\r\n",
" border: 1px solid;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div > h2 {\r\n",
" margin-top: 0;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div > h3 {\r\n",
" margin-bottom: 0;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container summary {\r\n",
" margin: 1em 0;\r\n",
" font-size: 1.17em;\r\n",
" font-weight: 700;\r\n",
" }\r\n",
"\r\n",
" @keyframes blink {\r\n",
" 0% {\r\n",
" opacity: .2;\r\n",
" }\r\n",
" 20% {\r\n",
" opacity: 1;\r\n",
" }\r\n",
" 100% {\r\n",
" opacity: .2;\r\n",
" }\r\n",
" }\r\n",
"\r\n",
" .ellipsis span {\r\n",
" animation-name: blink;\r\n",
" animation-duration: 1.4s;\r\n",
" animation-iteration-count: infinite;\r\n",
" animation-fill-mode: both;\r\n",
" }\r\n",
"\r\n",
" .ellipsis span:nth-child(2) {\r\n",
" animation-delay: .2s;\r\n",
" }\r\n",
"\r\n",
" .ellipsis span:nth-child(3) {\r\n",
" animation-delay: .4s;\r\n",
" }</style><div><h2>Request</h2><hr></hr><h3>GET <a href=\"http://127.0.0.1:4230/\">http://127.0.0.1:4230/</a> HTTP/1.1</h3><details><summary>Headers</summary><table><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>traceparent</td><td>00-9f30dd383da7da9695452942910e5eeb-9074df5bcf652253-00</td></tr></tbody></table></details><details><summary>Body (0 bytes)</summary><pre></pre></details></div><div><h2>Response</h2><hr></hr><h3>HTTP/1.1 200 OK ( ms)</h3><details open=\"True\"><summary>Headers</summary><table><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>Date</td><td>Sun, 05 May 2024 16:42:55 GMT</td></tr><tr><td>Server</td><td>Kestrel</td></tr><tr><td>Transfer-Encoding</td><td>chunked</td></tr><tr><td>Content-Length</td><td>18</td></tr></tbody></table></details><details open=\"True\"><summary>Body (18 bytes)</summary>Hello from MapGet!</details></div></div>"
],
"text/plain": [
"Request Method: GET\r\n",
"Request URI: http://127.0.0.1:4230/\r\n",
"Request Version: HTTP/1.1\r\n",
"\r\n",
"Status Code: 200 OK\r\n",
"Elapsed: ms\r\n",
"Version: HTTP/1.1\r\n",
"Content Type: \r\n",
"Content Length: 18 bytes\r\n",
"\r\n",
"Date: Sun, 05 May 2024 16:42:55 GMT\r\n",
"Server: Kestrel\r\n",
"Transfer-Encoding: chunked\r\n",
"Content-Length: 18\r\n",
"Body: Hello from MapGet!\r\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#!aspnet\n",
"\n",
"//引入之后就会暴露 aspnetcore 的东西,比如 App Endpoints WebApplication 等等,可以使用\n",
"\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"var responseMessage1 = await HttpClient.GetAsync(\"/\");\n",
"\n",
"responseMessage1.Display();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"Endpoints.MapInteractive(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapInteractive!\");\n",
"});\n",
"\n",
"Endpoints.MapInteractive(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapInteractive 2!\");\n",
"});\n",
"\n",
"var responseMessage2 = await HttpClient.GetAsync(\"/\");\n",
"\n",
"responseMessage2.Display();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"//using Microsoft.DotNet.Interactive.AspNetCore;\n",
"\n",
"App.Use(next =>\n",
"{\n",
" return async httpContext =>\n",
" {\n",
" await httpContext.Response.WriteAsync(\"Hello from middleware!\");\n",
" };\n",
"});\n",
"\n",
"var responseMessage3 = await HttpClient.GetAsync(\"/\");\n",
"responseMessage3.Display();\n",
"\n",
"var responseBody3 = await responseMessage3.Content.ReadAsStringAsync();\n",
"responseBody3.Display();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [],
"source": [
"#!aspnet\n",
"\n",
"App.Use(next =>\n",
"{\n",
" return async httpContext =>\n",
" {\n",
" await httpContext.Response.WriteAsync(\"Hello from middleware!\");\n",
" };\n",
"});\n",
"\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"var responseMessage4 = await HttpClient.GetAsync(\"/\");\n",
"responseMessage4.Display();\n",
"\n",
"var responseBody4 = await responseMessage3.Content.ReadAsStringAsync();\n",
"responseBody4.Display();\n",
"\n",
"App.Use(next =>\n",
"{\n",
" return async httpContext =>\n",
" {\n",
" await httpContext.Response.WriteAsync(\"Hello from middleware!\");\n",
" };\n",
"});\n",
"\n",
"var responseMessage2 = await HttpClient.GetAsync(\"/\");\n",
"responseMessage2.Display();"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div class=\"http-response-message-container\"><style type=\"text/css\">\r\n",
" .http-response-message-container {\r\n",
" display: flex;\r\n",
" flex-wrap: wrap;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div {\r\n",
" margin: .5em;\r\n",
" padding: 1em;\r\n",
" border: 1px solid;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div > h2 {\r\n",
" margin-top: 0;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div > h3 {\r\n",
" margin-bottom: 0;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container summary {\r\n",
" margin: 1em 0;\r\n",
" font-size: 1.17em;\r\n",
" font-weight: 700;\r\n",
" }\r\n",
"\r\n",
" @keyframes blink {\r\n",
" 0% {\r\n",
" opacity: .2;\r\n",
" }\r\n",
" 20% {\r\n",
" opacity: 1;\r\n",
" }\r\n",
" 100% {\r\n",
" opacity: .2;\r\n",
" }\r\n",
" }\r\n",
"\r\n",
" .ellipsis span {\r\n",
" animation-name: blink;\r\n",
" animation-duration: 1.4s;\r\n",
" animation-iteration-count: infinite;\r\n",
" animation-fill-mode: both;\r\n",
" }\r\n",
"\r\n",
" .ellipsis span:nth-child(2) {\r\n",
" animation-delay: .2s;\r\n",
" }\r\n",
"\r\n",
" .ellipsis span:nth-child(3) {\r\n",
" animation-delay: .4s;\r\n",
" }</style><div><h2>Request</h2><hr></hr><h3>GET <a href=\"http://127.0.0.1:4230/\">http://127.0.0.1:4230/</a> HTTP/1.1</h3><details><summary>Headers</summary><table><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>traceparent</td><td>00-9f30dd383da7da9695452942910e5eeb-f3d20b96fdaaa199-00</td></tr></tbody></table></details><details><summary>Body (0 bytes)</summary><pre></pre></details></div><div><h2>Response</h2><hr></hr><h3>HTTP/1.1 500 Internal Server Error ( ms)</h3><details open=\"True\"><summary>Headers</summary><table><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>Date</td><td>Sun, 05 May 2024 16:43:07 GMT</td></tr><tr><td>Server</td><td>Kestrel</td></tr><tr><td>Content-Length</td><td>0</td></tr></tbody></table></details><details open=\"True\"><summary>Body (0 bytes)</summary></details></div></div>"
],
"text/plain": [
"Request Method: GET\r\n",
"Request URI: http://127.0.0.1:4230/\r\n",
"Request Version: HTTP/1.1\r\n",
"\r\n",
"Status Code: 500 Internal Server Error\r\n",
"Elapsed: ms\r\n",
"Version: HTTP/1.1\r\n",
"Content Type: \r\n",
"Content Length: 0 bytes\r\n",
"\r\n",
"Date: Sun, 05 May 2024 16:43:07 GMT\r\n",
"Server: Kestrel\r\n",
"Content-Length: 0\r\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#!aspnet\n",
"\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"await HttpClient.GetAsync(\"/\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div class=\"http-response-message-container\"><style type=\"text/css\">\r\n",
" .http-response-message-container {\r\n",
" display: flex;\r\n",
" flex-wrap: wrap;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div {\r\n",
" margin: .5em;\r\n",
" padding: 1em;\r\n",
" border: 1px solid;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div > h2 {\r\n",
" margin-top: 0;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container > div > h3 {\r\n",
" margin-bottom: 0;\r\n",
" }\r\n",
"\r\n",
" .http-response-message-container summary {\r\n",
" margin: 1em 0;\r\n",
" font-size: 1.17em;\r\n",
" font-weight: 700;\r\n",
" }\r\n",
"\r\n",
" @keyframes blink {\r\n",
" 0% {\r\n",
" opacity: .2;\r\n",
" }\r\n",
" 20% {\r\n",
" opacity: 1;\r\n",
" }\r\n",
" 100% {\r\n",
" opacity: .2;\r\n",
" }\r\n",
" }\r\n",
"\r\n",
" .ellipsis span {\r\n",
" animation-name: blink;\r\n",
" animation-duration: 1.4s;\r\n",
" animation-iteration-count: infinite;\r\n",
" animation-fill-mode: both;\r\n",
" }\r\n",
"\r\n",
" .ellipsis span:nth-child(2) {\r\n",
" animation-delay: .2s;\r\n",
" }\r\n",
"\r\n",
" .ellipsis span:nth-child(3) {\r\n",
" animation-delay: .4s;\r\n",
" }</style><div><h2>Request</h2><hr></hr><h3>GET <a href=\"http://127.0.0.1:4230/\">http://127.0.0.1:4230/</a> HTTP/1.1</h3><details><summary>Headers</summary><table><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>traceparent</td><td>00-9f30dd383da7da9695452942910e5eeb-a79a9b38cdb6229a-00</td></tr></tbody></table></details><details><summary>Body (0 bytes)</summary><pre></pre></details></div><div><h2>Response</h2><hr></hr><h3>HTTP/1.1 500 Internal Server Error ( ms)</h3><details open=\"True\"><summary>Headers</summary><table><thead><tr><th>Name</th><th>Value</th></tr></thead><tbody><tr><td>Date</td><td>Sun, 05 May 2024 16:43:27 GMT</td></tr><tr><td>Server</td><td>Kestrel</td></tr><tr><td>Content-Length</td><td>0</td></tr></tbody></table></details><details open=\"True\"><summary>Body (0 bytes)</summary></details></div></div>"
],
"text/plain": [
"Request Method: GET\r\n",
"Request URI: http://127.0.0.1:4230/\r\n",
"Request Version: HTTP/1.1\r\n",
"\r\n",
"Status Code: 500 Internal Server Error\r\n",
"Elapsed: ms\r\n",
"Version: HTTP/1.1\r\n",
"Content Type: \r\n",
"Content Length: 0 bytes\r\n",
"\r\n",
"Date: Sun, 05 May 2024 16:43:27 GMT\r\n",
"Server: Kestrel\r\n",
"Content-Length: 0\r\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#!aspnet\n",
"Endpoints.MapGet(\"/\", async context =>\n",
"{\n",
" await context.Response.WriteAsync($\"Hello from MapGet!\");\n",
"});\n",
"\n",
"await HttpClient.GetAsync(\"/\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<details open=\"open\" class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>http://127.0.0.1:4230/</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>AbsolutePath</td><td><div class=\"dni-plaintext\"><pre>/</pre></div></td></tr><tr><td>AbsoluteUri</td><td><div class=\"dni-plaintext\"><pre>http://127.0.0.1:4230/</pre></div></td></tr><tr><td>LocalPath</td><td><div class=\"dni-plaintext\"><pre>/</pre></div></td></tr><tr><td>Authority</td><td><div class=\"dni-plaintext\"><pre>127.0.0.1:4230</pre></div></td></tr><tr><td>HostNameType</td><td><span>IPv4</span></td></tr><tr><td>IsDefaultPort</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td>IsFile</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td>IsLoopback</td><td><div class=\"dni-plaintext\"><pre>True</pre></div></td></tr><tr><td>PathAndQuery</td><td><div class=\"dni-plaintext\"><pre>/</pre></div></td></tr><tr><td>Segments</td><td><div class=\"dni-plaintext\"><pre>[ / ]</pre></div></td></tr><tr><td>IsUnc</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td>Host</td><td><div class=\"dni-plaintext\"><pre>127.0.0.1</pre></div></td></tr><tr><td>Port</td><td><div class=\"dni-plaintext\"><pre>4230</pre></div></td></tr><tr><td>Query</td><td><div class=\"dni-plaintext\"><pre></pre></div></td></tr><tr><td>Fragment</td><td><div class=\"dni-plaintext\"><pre></pre></div></td></tr><tr><td>Scheme</td><td><div class=\"dni-plaintext\"><pre>http</pre></div></td></tr><tr><td>OriginalString</td><td><div class=\"dni-plaintext\"><pre>http://127.0.0.1:4230</pre></div></td></tr><tr><td>DnsSafeHost</td><td><div class=\"dni-plaintext\"><pre>127.0.0.1</pre></div></td></tr><tr><td>IdnHost</td><td><div class=\"dni-plaintext\"><pre>127.0.0.1</pre></div></td></tr><tr><td>IsAbsoluteUri</td><td><div class=\"dni-plaintext\"><pre>True</pre></div></td></tr><tr><td>UserEscaped</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td>UserInfo</td><td><div class=\"dni-plaintext\"><pre></pre></div></td></tr></tbody></table></div></details><style>\r\n",
".dni-code-hint {\r\n",
" font-style: italic;\r\n",
" overflow: hidden;\r\n",
" white-space: nowrap;\r\n",
"}\r\n",
".dni-treeview {\r\n",
" white-space: nowrap;\r\n",
"}\r\n",
".dni-treeview td {\r\n",
" vertical-align: top;\r\n",
" text-align: start;\r\n",
"}\r\n",
"details.dni-treeview {\r\n",
" padding-left: 1em;\r\n",
"}\r\n",
"table td {\r\n",
" text-align: start;\r\n",
"}\r\n",
"table tr { \r\n",
" vertical-align: top; \r\n",
" margin: 0em 0px;\r\n",
"}\r\n",
"table tr td pre \r\n",
"{ \r\n",
" vertical-align: top !important; \r\n",
" margin: 0em 0px !important;\r\n",
"} \r\n",
"table th {\r\n",
" text-align: start;\r\n",
"}\r\n",
"</style>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#!aspnet\n",
"\n",
"HttpClient.BaseAddress"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
},
"outputs": [
{
"data": {
"text/html": [
"<details open=\"open\" class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.AspNetCore.Builder.ApplicationBuilder</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>ApplicationServices</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>IsRootScope</td><td><div class=\"dni-plaintext\"><pre>True</pre></div></td></tr><tr><td>ServiceProvider</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>IsRootScope</td><td><div class=\"dni-plaintext\"><pre>True</pre></div></td></tr><tr><td>ServiceProvider</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>IsRootScope</td><td><div class=\"dni-plaintext\"><pre>True</pre></div></td></tr><tr><td>ServiceProvider</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>IsRootScope</td><td><div class=\"dni-plaintext\"><pre>True</pre></div></td></tr><tr><td>ServiceProvider</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>IsRootScope</td><td>True</td></tr><tr><td>ServiceProvider</td><td>Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope</td></tr></tbody></table></div></details></td></tr></tbody></table></div></details></td></tr></tbody></table></div></details></td></tr></tbody></table></div></details></td></tr></tbody></table></div></details></td></tr><tr><td>ServerFeatures</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>[ [Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature, Microsoft.AspNetCore.Server.Kestrel.Core.Internal.ServerAddressesFeature] ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>Revision</td><td><div class=\"dni-plaintext\"><pre>1</pre></div></td></tr><tr><td>IsReadOnly</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td><i>(values)</i></td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>[Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature, Microsoft.AspNetCore.Server.Kestrel.Core.Internal.ServerAddressesFeature]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>Key</td><td><span><a href=\"https://docs.microsoft.com/dotnet/api/microsoft.aspnetcore.hosting.server.features.iserveraddressesfeature?view=net-7.0\">Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature</a></span></td></tr><tr><td>Value</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.AspNetCore.Server.Kestrel.Core.Internal.ServerAddressesFeature</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>InternalCollection</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>[ http://127.0.0.1:4230 ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>PublicCollection</td><td><div class=\"dni-plaintext\"><pre>[ http://127.0.0.1:4230 ]</pre></div></td></tr><tr><td>IsReadOnly</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td>Count</td><td><div class=\"dni-plaintext\"><pre>1</pre></div></
" ASP.NET Core middleware for routing requests to application logic and for generating links.\r\n",
" Commonly used types:\r\n",
" Microsoft.AspNetCore.Routing.Route\r\n",
" Microsoft.AspNetCore.Routing.RouteCollection\r\n",
" \")] ... (6 more) ]</td></tr><tr><td>EscapedCodeBase</td><td>file:///C:/Program%20Files/dotnet/shared/Microsoft.AspNetCore.App/8.0.4/Microsoft.AspNetCore.Routing.dll</td></tr><tr><td>Modules</td><td>[ Microsoft.AspNetCore.Routing.dll ]</td></tr><tr><td>SecurityRuleSet</td><td>None</td></tr></tbody></table></div></details></td></tr><tr><td>ModuleHandle</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>System.ModuleHandle</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>MDStreamVersion</td><td>131072</td></tr></tbody></table></div></details></td></tr><tr><td>CustomAttributes</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr><td>0</td><td>[System.Security.UnverifiableCodeAttribute()]</td></tr><tr><td>1</td><td>[System.Runtime.CompilerServices.RefSafetyRulesAttribute((Int32)11)]</td></tr><tr><td>2</td><td>[System.Runtime.CompilerServices.NullablePublicOnlyAttribute((Boolean)True)]</td></tr></tbody></table></td></tr></tbody></table></div></details></td></tr><tr><td>IsSecurityCritical</td><td><div class=\"dni-plaintext\"><pre>True</pre></div></td></tr><tr><td>IsSecuritySafeCritical</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td>IsSecurityTransparent</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td>MethodHandle</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>System.RuntimeMethodHandle</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>Value</td><td><div class=\"dni-plaintext\"><pre>140713067293856</pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Attributes</td><td><span>Public, Static, HideBySig</span></td></tr><tr><td>CallingConvention</td><td><span>Standard</span></td></tr><tr><td>ReturnType</td><td><span><a href=\"https://docs.microsoft.com/dotnet/api/microsoft.aspnetcore.builder.iapplicationbuilder?view=net-7.0\">Microsoft.AspNetCore.Builder.IApplicationBuilder</a></span></td></tr><tr><td>ReturnTypeCustomAttributes</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.AspNetCore.Builder.IApplicationBuilder</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>ParameterType</td><td><span><a href=\"https://docs.microsoft.com/dotnet/api/microsoft.aspnetcore.builder.iapplicationbuilder?view=net-7.0\">Microsoft.AspNetCore.Builder.IApplicationBuilder</a></span></td></tr><tr><td>Name</td><td><div class=\"dni-plaintext\"><pre>&lt;null&gt;</pre></div></td></tr><tr><td>HasDefaultValue</td><td><div class=\"dni-plaintext\"><pre>False</pre></div></td></tr><tr><td>DefaultValue</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code></code></span></summary><div><table><thead><tr></tr></thead><tbody></tbody></table></div></details></td></tr><tr><td>RawDefaultValue</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code></code></span></summary><div><table><thead><tr></tr></thead><tbody></tbody></table></div></details></td></tr><tr><td>MetadataToken</td><td><div class=\"dni-plaintext\"><pre>134217728</pre></div></td></tr><tr><td>Attributes</td><td><span>None</span></td></tr><tr><td>Member</td><td><details class=\"dni-treeview\"><summary><span class=\"dni-code-hint\"><code>Microsoft.AspNetCore.Builder.IApplicationBuilder UseRouting(Microsoft.AspNetCore.Builder.IApplicationBuilder)</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td>Name</td><td>UseRouting</td></tr><tr><td>DeclaringType</td><td>Microsoft.AspNetCore.Builder.EndpointRoutingApplicationBuilderExtensions</td></tr><tr><td>ReflectedType</td><td>Microsoft.AspNetCore.Builder.EndpointRoutingApplicationBuilderExtensions</td></tr><tr><td>MemberType</td><td>Method</td></tr><tr><td>MetadataToken</td><td>100663382</td></tr><tr><td>Module</td><td>Microsoft.AspNetCore.Routing.dll</td></tr><tr><td>IsSecurityCritical</td><td>True</td></tr><tr><td>IsSecuritySafeCritical</td><td>False</td></tr><tr><td>IsSecurityTran
".dni-code-hint {\r\n",
" font-style: italic;\r\n",
" overflow: hidden;\r\n",
" white-space: nowrap;\r\n",
"}\r\n",
".dni-treeview {\r\n",
" white-space: nowrap;\r\n",
"}\r\n",
".dni-treeview td {\r\n",
" vertical-align: top;\r\n",
" text-align: start;\r\n",
"}\r\n",
"details.dni-treeview {\r\n",
" padding-left: 1em;\r\n",
"}\r\n",
"table td {\r\n",
" text-align: start;\r\n",
"}\r\n",
"table tr { \r\n",
" vertical-align: top; \r\n",
" margin: 0em 0px;\r\n",
"}\r\n",
"table tr td pre \r\n",
"{ \r\n",
" vertical-align: top !important; \r\n",
" margin: 0em 0px !important;\r\n",
"} \r\n",
"table th {\r\n",
" text-align: start;\r\n",
"}\r\n",
"</style>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#!aspnet\n",
"\n",
"App.Display()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
},
"language_info": {
"name": "polyglot-notebook"
},
"orig_nbformat": 4,
"polyglot_notebook": {
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
{
"aliases": [],
"name": "csharp"
},
{
"aliases": [],
"name": "razor"
}
]
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}