You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-functions/dotnet-isolated-in-process-differences.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,20 +5,20 @@ ms.service: azure-functions
5
5
ms.topic: conceptual
6
6
ms.date: 09/29/2022
7
7
recommendations: false
8
-
#Customer intent: As a developer, I need to understand the differences between running in-process and running in an isolated worker process so that I can choose the best execution mode for my functions.
8
+
#Customer intent: As a developer, I need to understand the differences between running in-process and running in an isolated worker process so that I can choose the best process model for my functions.
9
9
---
10
10
11
11
# Differences between in-process and isolate worker process .NET Azure Functions
12
12
13
-
Functions supports two execution modes for .NET class library functions:
13
+
Functions supports two process models for .NET class library functions:
> Python isn't supported by version 1.x of the Azure Functions runtime. Perhaps you're instead looking to [migrate your Python app from version 3.x to version 4.x](./migrate-version-3-version-4.md). If you're migrating a version 1.x function app, select either C# or JavaScript above.
28
28
::: zone-end
29
-
29
+
::: zone pivot="programming-language-csharp"
30
30
If you're running on version 1.x of the Azure Functions runtime, it's likely because your C# app requires .NET Framework 2.1. Version 4.x of the runtime now lets you run .NET Framework 4.8 apps. At this point, you should consider migrating your version 1.x function apps to run on version 4.x. For more information about Functions runtime versions, see [Azure Functions runtime versions overview](./functions-versions.md).
31
31
32
32
Migrating a C# function app from version 1.x to version 4.x of the Functions runtime requires you to make changes to your project code. Many of these changes are a result of changes in the C# language and .NET APIs. JavaScript apps generally don't require code changes to migrate.
@@ -41,23 +41,39 @@ You can upgrade your C# project to one of the following versions of .NET, all of
<sup>*</sup> [In-process execution](./functions-dotnet-class-library.md) is only supported for Long Term Support (LTS) releases of .NET. Non-LTS releases and .NET Framework require you to run in an [isolated worker process](./dotnet-isolated-process-guide.md). For a feature and functionality comparison between the two process models, see [Differences between in-process and isolate worker process .NET Azure Functions](./dotnet-isolated-in-process-differences.md).
44
-
44
+
::: zone-end
45
+
::: zone pivot="programming-language-javascript,programming-language-csharp"
45
46
This article walks you through the process of safely migrating your function app to run on version 4.x of the Functions runtime.
46
47
47
48
## Prepare for migration
48
49
49
50
Before you upgrade your app to version 4.x of the Functions runtime, you should do the following tasks:
50
51
51
52
* Review the list of [behavior changes after version 1.x](#behavior-changes-after-version-1x). Migrating from version 1.x to version 4.x also can affect bindings.
52
-
* Review [Update your C# project files](#update-your-project-files) and decide which version of .NET you want to migrate to. Complete the steps to migrate your local project to your chosen version of .NET.
53
+
::: zone-end
54
+
::: zone pivot="programming-language-csharp"
55
+
* Review [Update your project files](#update-your-project-files) and decide which version of .NET you want to migrate to. Complete the steps to migrate your local project to your chosen version of .NET.
56
+
::: zone-end
57
+
::: zone pivot="programming-language-javascript"
58
+
* Complete the steps in [update your project files](#update-your-project-files) to migrate your local project to run locally on a version 4.x and a supported version of Node.js.
59
+
::: zone-end
60
+
::: zone pivot="programming-language-javascript,programming-language-csharp"
53
61
* After migrating your local project, fully test the app locally using version 4.x of the [Azure Functions Core Tools](functions-run-local.md).
62
+
54
63
* Upgrade your function app in Azure to the new version. If you need to minimize downtime, consider using a [staging slot](functions-deployment-slots.md) to test and verify your migrated app in Azure on the new runtime version. You can then deploy your app with the updated version settings to the production slot. For more information, see [Migrate using slots](#upgrade-using-slots).
64
+
::: zone-end
65
+
::: zone pivot="programming-language-csharp"
55
66
* Republished your migrated project to the upgraded function app. When you use Visual Studio to publish a version 4.x project to an existing function app at a lower version, you're prompted to let Visual Studio upgrade the function app to version 4.x during deployment. This upgrade uses the same process defined in [Migrate without slots](#upgrade-without-slots).
67
+
::: zone-end
68
+
::: zone pivot="programming-language-javascript"
69
+
* Republished your migrated project to the upgraded function app.
70
+
::: zone-end
71
+
::: zone pivot="programming-language-javascript,programming-language-csharp"
56
72
* Consider using a [staging slot](functions-deployment-slots.md) to test and verify your app in Azure on the new runtime version. You can then deploy your app with the updated version settings to the production slot. For more information, see [Migrate using slots](#upgrade-using-slots).
57
-
73
+
::: zone-end
74
+
::: zone pivot="programming-language-csharp"
58
75
## Update your project files
59
76
60
-
::: zone pivot="programming-language-csharp"
61
77
The following sections describes the updates you must make to your C# project files to be able to run on one of the supported versions of .NET in Functions version 4.x. The updates shown are ones common to most projects. Your project code may require updates not mentioned in this article, especially when using custom NuGet packages.
62
78
63
79
Choose the tab that matches your target version of .NET and the desired process model (in-process or isolated worker process).
@@ -341,6 +357,8 @@ In version 4.x, the HTTP trigger template looks like the following example:
341
357
---
342
358
::: zone-end
343
359
::: zone pivot="programming-language-javascript"
360
+
## Update your project files
361
+
344
362
To update your project to Azure Functions 4.x:
345
363
346
364
1. Update your local installation of [Azure Functions Core Tools](functions-run-local.md#install-the-azure-functions-core-tools) to version 4.x.
0 commit comments