Skip to content

Commit 275bdd3

Browse files
updating isolated comparison table
1 parent 0061aeb commit 275bdd3

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

articles/azure-functions/dotnet-isolated-process-guide.md

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -253,23 +253,23 @@ This section describes the current state of the functional and behavioral differ
253253
| ---- | ---- | ---- |
254254
| .NET versions | .NET Core 3.1<br/>.NET 6.0 | .NET 6.0<br/>.NET 7.0 (Preview)<br/>.NET Framework 4.8 (Preview) |
255255
| Core packages | [Microsoft.NET.Sdk.Functions](https://www.nuget.org/packages/Microsoft.NET.Sdk.Functions/) | [Microsoft.Azure.Functions.Worker](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker/)<br/>[Microsoft.Azure.Functions.Worker.Sdk](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Sdk) |
256-
| Binding extension packages | [Microsoft.Azure.WebJobs.Extensions.*](https://www.nuget.org/packages?q=Microsoft.Azure.WebJobs.Extensions) | Under [Microsoft.Azure.Functions.Worker.Extensions.*](https://www.nuget.org/packages?q=Microsoft.Azure.Functions.Worker.Extensions) |
257-
| Logging | [ILogger] passed to the function | [ILogger] obtained from [FunctionContext] |
258-
| Cancellation tokens | [Supported](functions-dotnet-class-library.md#cancellation-tokens) | Not supported |
259-
| Output bindings | Out parameters | Return values |
260-
| Output binding types | `IAsyncCollector`, [DocumentClient], [BrokeredMessage], and other client-specific types | Simple types, JSON serializable types, and arrays. |
261-
| Multiple output bindings | Supported | [Supported](#multiple-output-bindings) |
262-
| HTTP trigger | [HttpRequest]/[ObjectResult] | [HttpRequestData]/[HttpResponseData] |
256+
| Binding extension packages | [Microsoft.Azure.WebJobs.Extensions.*](https://www.nuget.org/packages?q=Microsoft.Azure.WebJobs.Extensions) | [Microsoft.Azure.Functions.Worker.Extensions.*](https://www.nuget.org/packages?q=Microsoft.Azure.Functions.Worker.Extensions) |
263257
| Durable Functions | [Supported](durable/durable-functions-overview.md) | [Supported (public preview)](https://github.com/microsoft/durabletask-dotnet#usage-with-azure-functions) |
264-
| Imperative bindings | [Supported](functions-dotnet-class-library.md#binding-at-runtime) | Not supported |
265-
| function.json artifact | Generated | Not generated |
266-
| Configuration | [host.json](functions-host-json.md) | [host.json](functions-host-json.md) and custom initialization |
258+
| Model types exposed by bindings | Simple types<br/>JSON serializable types<br/>Arrays/enumerations<br/>Service SDK types such as [BlobClient]<br/>`IAsyncCollector` (for output bindings) | Simple types<br/>JSON serializable types<br/>Arrays/enumerations |
259+
| HTTP trigger model types| [HttpRequest]/[ObjectResult] | [HttpRequestData]/[HttpResponseData] |
260+
| Output binding interaction | Return values (single output only)<br/>`out` parameters<br/>`IAsyncCollector` | Return values (expanded model with single or [multiple outputs](#multiple-output-bindings)) |
261+
| Imperative bindings<sup>1</sup> | [Supported](functions-dotnet-class-library.md#binding-at-runtime) | Not supported |
267262
| Dependency injection | [Supported](functions-dotnet-dependency-injection.md) | [Supported](#dependency-injection) |
268-
| Middleware | Not supported | Supported |
269-
| Cold start times | Typical | Longer, because of just-in-time start-up. Run on Linux instead of Windows to reduce potential delays. |
263+
| Middleware | Not supported | [Supported](#middleware) |
264+
| Logging | [ILogger] passed to the function<br/>[ILogger&lt;T&gt;] via dependency injection | [ILogger]/[ILogger&lt;T&gt;] obtained from [FunctionContext] or via [dependency injection](#dependency-injection)|
265+
| Application Insights dependencies | [Supported](functions-monitoring.md#dependencies) | [Supported (public preview)](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.ApplicationInsights) |
266+
| Cancellation tokens | [Supported](functions-dotnet-class-library.md#cancellation-tokens) | Not supported |
267+
| Cold start times<sup>2</sup> | (Baseline) | Additionally includes process launch |
270268
| ReadyToRun | [Supported](functions-dotnet-class-library.md#readytorun) | _TBD_ |
271-
| Application Insights dependencies | [Supported](functions-monitoring.md#dependencies) | Not Supported |
272269

270+
<sup>1</sup> When you need to interact with a service using parameters determined at runtime, using the corresponding service SDKs directly is recommended over using imperative bindings. The SDKs are less verbose, cover more scenarios, and have advantages for error handling and debugging purposes. This recommendation applies to both models.
271+
272+
<sup>2</sup> Cold start times may be additionally impacted on Windows when using some preview versions of .NET due to just-in-time loading of preview frameworks. This applies to both the in-process and out-of-process models but may be particularly noticeable if comparing across different versions. This delay for preview versions is not present on Linux plans.
273273

274274
## Remote Debugging using Visual Studio
275275

@@ -280,19 +280,21 @@ Because your isolated process app runs outside the Functions runtime, you need t
280280
+ [Learn more about best practices for Azure Functions](functions-best-practices.md)
281281

282282

283-
[HostBuilder]: /dotnet/api/microsoft.extensions.hosting.hostbuilder?view=dotnet-plat-ext-5.0&preserve-view=true
284-
[IHost]: /dotnet/api/microsoft.extensions.hosting.ihost?view=dotnet-plat-ext-5.0&preserve-view=true
283+
[HostBuilder]: /dotnet/api/microsoft.extensions.hosting.hostbuilder
284+
[IHost]: /dotnet/api/microsoft.extensions.hosting.ihost
285285
[ConfigureFunctionsWorkerDefaults]: /dotnet/api/microsoft.extensions.hosting.workerhostbuilderextensions.configurefunctionsworkerdefaults?view=azure-dotnet&preserve-view=true#Microsoft_Extensions_Hosting_WorkerHostBuilderExtensions_ConfigureFunctionsWorkerDefaults_Microsoft_Extensions_Hosting_IHostBuilder_
286-
[ConfigureAppConfiguration]: /dotnet/api/microsoft.extensions.hosting.hostbuilder.configureappconfiguration?view=dotnet-plat-ext-5.0&preserve-view=true
287-
[IServiceCollection]: /dotnet/api/microsoft.extensions.dependencyinjection.iservicecollection?view=dotnet-plat-ext-5.0&preserve-view=true
288-
[ConfigureServices]: /dotnet/api/microsoft.extensions.hosting.hostbuilder.configureservices?view=dotnet-plat-ext-5.0&preserve-view=true
286+
[ConfigureAppConfiguration]: /dotnet/api/microsoft.extensions.hosting.hostbuilder.configureappconfiguration
287+
[IServiceCollection]: /dotnet/api/microsoft.extensions.dependencyinjection.iservicecollection
288+
[ConfigureServices]: /dotnet/api/microsoft.extensions.hosting.hostbuilder.configureservices
289289
[FunctionContext]: /dotnet/api/microsoft.azure.functions.worker.functioncontext?view=azure-dotnet&preserve-view=true
290-
[ILogger]: /dotnet/api/microsoft.extensions.logging.ilogger?view=dotnet-plat-ext-5.0&preserve-view=true
290+
[ILogger]: /dotnet/api/microsoft.extensions.logging.ilogger
291+
[ILogger&lt;T&gt;]: /dotnet/api/microsoft.extensions.logging.ilogger-1
291292
[GetLogger]: /dotnet/api/microsoft.azure.functions.worker.functioncontextloggerextensions.getlogger?view=azure-dotnet&preserve-view=true
293+
[BlobClient]: /dotnet/api/azure.storage.blobs.blobclient?view=azure-dotnet
292294
[DocumentClient]: /dotnet/api/microsoft.azure.documents.client.documentclient
293295
[BrokeredMessage]: /dotnet/api/microsoft.servicebus.messaging.brokeredmessage
294296
[HttpRequestData]: /dotnet/api/microsoft.azure.functions.worker.http.httprequestdata?view=azure-dotnet&preserve-view=true
295297
[HttpResponseData]: /dotnet/api/microsoft.azure.functions.worker.http.httpresponsedata?view=azure-dotnet&preserve-view=true
296-
[HttpRequest]: /dotnet/api/microsoft.aspnetcore.http.httprequest?view=aspnetcore-5.0&preserve-view=true
297-
[ObjectResult]: /dotnet/api/microsoft.aspnetcore.mvc.objectresult?view=aspnetcore-5.0&preserve-view=true
298-
[JsonSerializerOptions]: /dotnet/api/system.text.json.jsonserializeroptions?view=net-5.0&preserve-view=true
298+
[HttpRequest]: /dotnet/api/microsoft.aspnetcore.http.httprequest
299+
[ObjectResult]: /dotnet/api/microsoft.aspnetcore.mvc.objectresult
300+
[JsonSerializerOptions]: /dotnet/api/system.text.json.jsonserializeroptions

0 commit comments

Comments
 (0)