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: aspnetcore/fundamentals/target-aspnetcore.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,7 +187,7 @@ Alternatively, .NET Standard 2.0 could be targeted instead of targeting both .NE
187
187
188
188
With the preceding project file, the following caveats exist:
189
189
190
-
* Since the library only contains Tag Helpers, it's more straightforward to target the specific platforms on which ASP.NET Core runs: .NET Core and .NET Framework. Tag Helpers can't be used by other .NET Standard 2.0-compliant target frameworks such as Unity, UWP, and Xamarin.
190
+
* Since the library only contains Tag Helpers, it's more straightforward to target the specific platforms on which ASP.NET Core runs: .NET Core and .NET Framework. Tag Helpers can't be used by other .NET Standard 2.0-compliant target frameworks such as Unityand UWP.
191
191
* Using .NET Standard 2.0 from .NET Framework has some issues that were addressed in .NET Framework 4.7.2. You can improve the experience for consumers using .NET Framework 4.6.1 through 4.7.1 by targeting .NET Framework 4.6.1.
192
192
193
193
If your library needs to call platform-specific APIs, target specific .NET implementations instead of .NET Standard. For more information, see [Multi-targeting](/dotnet/standard/library-guidance/cross-platform-targeting#multi-targeting).
Copy file name to clipboardExpand all lines: aspnetcore/grpc/client.md
+1-4Lines changed: 1 addition & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ author: jamesnk
4
4
description: Learn how to call gRPC services with the .NET gRPC client.
5
5
monikerRange: '>= aspnetcore-3.0'
6
6
ms.author: wpickett
7
-
ms.date: 6/5/2024
7
+
ms.date: 01/08/2025
8
8
uid: grpc/client
9
9
---
10
10
# Call gRPC services with the .NET client
@@ -62,9 +62,6 @@ Channel and client performance and usage:
62
62
63
63
`GrpcChannel.ForAddress` isn't the only option for creating a gRPC client. If calling gRPC services from an ASP.NET Core app, consider [gRPC client factory integration](xref:grpc/clientfactory). gRPC integration with `HttpClientFactory` offers a centralized alternative to creating gRPC clients.
64
64
65
-
> [!NOTE]
66
-
> Calling gRPC over HTTP/2 with `Grpc.Net.Client` is currently not supported on Xamarin. We are working to improve HTTP/2 support in a future Xamarin release. [Grpc.Core](https://www.nuget.org/packages/Grpc.Core) and [gRPC-Web](xref:grpc/browser) are viable alternatives that work today.
67
-
68
65
## Make gRPC calls
69
66
70
67
A gRPC call is initiated by calling a method on the client. The gRPC client will handle message serialization and addressing the gRPC call to the correct service.
Copy file name to clipboardExpand all lines: aspnetcore/grpc/netstandard.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ author: jamesnk
4
4
description: Learn how to use the .NET gRPC client in apps and libraries that support .NET Standard 2.0.
5
5
monikerRange: '>= aspnetcore-3.0'
6
6
ms.author: wpickett
7
-
ms.date: 3/11/2021
7
+
ms.date: 01/08/2025
8
8
uid: grpc/netstandard
9
9
---
10
10
# Use gRPC client with .NET Standard 2.0
@@ -22,8 +22,6 @@ The following .NET implementations (or later) support [Grpc.Net.Client](https://
22
22
* .NET Core 2.1
23
23
* .NET Framework 4.6.1
24
24
* Mono 5.4
25
-
* Xamarin.iOS 10.14
26
-
* Xamarin.Android 8.0
27
25
* Universal Windows Platform 10.0.16299
28
26
* Unity 2018.1
29
27
@@ -35,7 +33,7 @@ An HTTP provider must be configured using `GrpcChannelOptions.HttpHandler`. If a
35
33
36
34
> `System.PlatformNotSupportedException`: gRPC requires extra configuration to successfully make RPC calls on .NET implementations that don't have support for gRPC over HTTP/2. An HTTP provider must be specified using `GrpcChannelOptions.HttpHandler`. The configured HTTP provider must either support HTTP/2 or be configured to use gRPC-Web.
37
35
38
-
.NET implementations that don't support HTTP/2, such as UWP, Xamarin, and Unity, can use gRPC-Web as an alternative.
36
+
.NET implementations that don't support HTTP/2, such as UWP and Unity, can use gRPC-Web as an alternative.
@@ -90,9 +88,9 @@ var response = await client.SayHelloAsync(new HelloRequest { Name = ".NET" });
90
88
91
89
## gRPC C# core-library
92
90
93
-
An alternative option for .NET Framework and Xamarin has been to use [gRPC C# core-library](https://grpc.io/docs/languages/csharp/quickstart/) to make gRPC calls. gRPC C# core-library is:
91
+
An alternative option for .NET Framework has been to use [gRPC C# core-library](https://grpc.io/docs/languages/csharp/quickstart/) to make gRPC calls. gRPC C# core-library is:
94
92
95
-
* A third party library that supports making gRPC calls over HTTP/2 on .NET Framework and Xamarin.
93
+
* A third party library that supports making gRPC calls over HTTP/2 on .NET Framework.
96
94
* Not supported by Microsoft.
97
95
* In maintenance mode and will be [deprecated in favour of gRPC for .NET](https://grpc.io/blog/grpc-csharp-future/).
Copy file name to clipboardExpand all lines: aspnetcore/grpc/supported-platforms.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ author: jamesnk
4
4
description: Learn about the supported platforms for gRPC on .NET.
5
5
monikerRange: '>= aspnetcore-3.0'
6
6
ms.author: wpickett
7
-
ms.date: 10/27/2022
7
+
ms.date: 01/08/2025
8
8
uid: grpc/supported-platforms
9
9
---
10
10
# gRPC on .NET supported platforms
@@ -89,7 +89,7 @@ For information about configuring ASP.NET Core servers to run gRPC, see <xref:gr
89
89
90
90
The [Grpc.Net.Client](https://www.nuget.org/packages/Grpc.Net.Client/) package supports gRPC calls over HTTP/2 on .NET Core 3 and .NET 5 or later.
91
91
92
-
Limited support is available for gRPC over HTTP/2 on .NET Framework. Other .NET versions such as UWP, Xamarin and Unity don't have required HTTP/2 support, and must use gRPC-Web instead.
92
+
Limited support is available for gRPC over HTTP/2 on .NET Framework. Other .NET versions such as UWP and Unity don't have required HTTP/2 support, and must use gRPC-Web instead.
93
93
94
94
The following table lists .NET implementations and their gRPC client support:
95
95
@@ -101,8 +101,6 @@ The following table lists .NET implementations and their gRPC client support:
101
101
| .NET Framework 4.6.1 | ⚠️†| ✔️ |
102
102
| Blazor WebAssembly | ❌ | ✔️ |
103
103
| Mono 5.4 | ❌ | ✔️ |
104
-
| Xamarin.iOS 10.14 | ❌ | ✔️ |
105
-
| Xamarin.Android 8.0 | ❌ | ✔️ |
106
104
| Universal Windows Platform 10.0.16299 | ❌ | ✔️ |
Copy file name to clipboardExpand all lines: aspnetcore/signalr/messagepackhubprotocol.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: Add MessagePack Hub Protocol to ASP.NET Core SignalR.
5
5
monikerRange: '>= aspnetcore-2.1'
6
6
ms.author: wpickett
7
7
ms.custom: mvc
8
-
ms.date: 7/16/2021
8
+
ms.date: 01/08/2025
9
9
uid: signalr/messagepackhubprotocol
10
10
---
11
11
@@ -148,7 +148,7 @@ The MessagePack protocol doesn't provide a way to encode the `Kind` value of a `
148
148
149
149
### MessagePack support in "ahead-of-time" compilation environment
150
150
151
-
The [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp/tree/v2.1.90) library used by the .NET client and server uses code generation to optimize serialization. As a result, it isn't supported by default on environments that use "ahead-of-time" compilation (such as Xamarin iOS or Unity). It's possible to use MessagePack in these environments by "pre-generating" the serializer/deserializer code. For more information, see [the MessagePack-CSharp documentation](https://github.com/neuecc/MessagePack-CSharp/tree/v2.1.90#aot-code-generation-to-support-unityxamarin). Once you have pre-generated the serializers, you can register them using the configuration delegate passed to `AddMessagePackProtocol`:
151
+
The [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp/tree/v2.1.90) library used by the .NET client and server uses code generation to optimize serialization. As a result, it isn't supported by default on environments that use "ahead-of-time" compilation, such as NET Multi-platform App UI (.NET MAUI) or Unity. It's possible to use MessagePack in these environments by "pre-generating" the serializer/deserializer code. For more information, see [the MessagePack-CSharp documentation](https://github.com/neuecc/MessagePack-CSharp/tree/v2.1.90#aot-code-generation-to-support-unityxamarin). Once you have pre-generated the serializers, you can register them using the configuration delegate passed to `AddMessagePackProtocol`:
152
152
153
153
```csharp
154
154
services.AddSignalR()
@@ -339,7 +339,7 @@ For more information on this limitation, see GitHub issue [aspnet/SignalR#2228](
339
339
340
340
### MessagePack support in "ahead-of-time" compilation environment
341
341
342
-
The [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp/tree/v2.1.90) library used by the .NET client and server uses code generation to optimize serialization. As a result, it isn't supported by default on environments that use "ahead-of-time" compilation (such as Xamarin iOS or Unity). It's possible to use MessagePack in these environments by "pre-generating" the serializer/deserializer code. For more information, see [the MessagePack-CSharp documentation](https://github.com/neuecc/MessagePack-CSharp/tree/v2.1.90#aot-code-generation-to-support-unityxamarin). Once you have pre-generated the serializers, you can register them using the configuration delegate passed to `AddMessagePackProtocol`:
342
+
The [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp/tree/v2.1.90) library used by the .NET client and server uses code generation to optimize serialization. As a result, it isn't supported by default on environments that use "ahead-of-time" compilation, such as NET Multi-platform App UI (.NET MAUI) or Unity. It's possible to use MessagePack in these environments by "pre-generating" the serializer/deserializer code. For more information, see [the MessagePack-CSharp documentation](https://github.com/neuecc/MessagePack-CSharp/tree/v2.1.90#aot-code-generation-to-support-unityxamarin). Once you have pre-generated the serializers, you can register them using the configuration delegate passed to `AddMessagePackProtocol`:
343
343
344
344
```csharp
345
345
services.AddSignalR()
@@ -524,7 +524,7 @@ For more information on this limitation, see GitHub issue [aspnet/SignalR#2228](
524
524
525
525
### MessagePack support in "ahead-of-time" compilation environment
526
526
527
-
The [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp/tree/v1.8.80) library used by the .NET client and server uses code generation to optimize serialization. As a result, it isn't supported by default on environments that use "ahead-of-time" compilation (such as Xamarin iOS or Unity). It's possible to use MessagePack in these environments by "pre-generating" the serializer/deserializer code. For more information, see [the MessagePack-CSharp documentation](https://github.com/neuecc/MessagePack-CSharp/tree/v1.8.80#pre-code-generationunityxamarin-supports). Once you have pre-generated the serializers, you can register them using the configuration delegate passed to `AddMessagePackProtocol`:
527
+
The [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp/tree/v1.8.80) library used by the .NET client and server uses code generation to optimize serialization. As a result, it isn't supported by default on environments that use "ahead-of-time" compilation, such as NET Multi-platform App UI (.NET MAUI) or Unity. It's possible to use MessagePack in these environments by "pre-generating" the serializer/deserializer code. For more information, see [the MessagePack-CSharp documentation](https://github.com/neuecc/MessagePack-CSharp/tree/v1.8.80#pre-code-generationunityxamarin-supports). Once you have pre-generated the serializers, you can register them using the configuration delegate passed to `AddMessagePackProtocol`:
528
528
529
529
```csharp
530
530
services.AddSignalR()
@@ -703,7 +703,7 @@ For more information on this limitation, see GitHub issue [aspnet/SignalR#2228](
703
703
704
704
### MessagePack support in "ahead-of-time" compilation environment
705
705
706
-
The [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp/tree/v1.8.80) library used by the .NET client and server uses code generation to optimize serialization. As a result, it isn't supported by default on environments that use "ahead-of-time" compilation (such as Xamarin iOS or Unity). It's possible to use MessagePack in these environments by "pre-generating" the serializer/deserializer code. For more information, see [the MessagePack-CSharp documentation](https://github.com/neuecc/MessagePack-CSharp/tree/v1.8.80#pre-code-generationunityxamarin-supports). Once you have pre-generated the serializers, you can register them using the configuration delegate passed to `AddMessagePackProtocol`:
706
+
The [MessagePack-CSharp](https://github.com/neuecc/MessagePack-CSharp/tree/v1.8.80) library used by the .NET client and server uses code generation to optimize serialization. As a result, it isn't supported by default on environments that use "ahead-of-time" compilation, such as NET Multi-platform App UI (.NET MAUI) or Unity. It's possible to use MessagePack in these environments by "pre-generating" the serializer/deserializer code. For more information, see [the MessagePack-CSharp documentation](https://github.com/neuecc/MessagePack-CSharp/tree/v1.8.80#pre-code-generationunityxamarin-supports). Once you have pre-generated the serializers, you can register them using the configuration delegate passed to `AddMessagePackProtocol`:
Copy file name to clipboardExpand all lines: aspnetcore/signalr/supported-platforms.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: Learn about the supported platforms for ASP.NET Core SignalR.
5
5
monikerRange: '>= aspnetcore-3.1'
6
6
ms.author: wpickett
7
7
ms.custom: mvc, devx-track-js
8
-
ms.date: 09/15/2021
8
+
ms.date: 01/09/2025
9
9
uid: signalr/supported-platforms
10
10
---
11
11
# ASP.NET Core SignalR supported platforms
@@ -31,7 +31,7 @@ The JavaScript client doesn't support Internet Explorer and other older browsers
31
31
32
32
## .NET client
33
33
34
-
The [.NET client](xref:signalr/dotnet-client) runs on any platform supported by ASP.NET Core. For example, [Xamarin developers can use SignalR](https://github.com/aspnet/Announcements/issues/305) for building Android apps using Xamarin.Android 8.4.0.1 and later and iOS apps using Xamarin.iOS 11.14.0.4 and later.
34
+
The [.NET client](xref:signalr/dotnet-client) runs on any platform supported by ASP.NET Core. For example, [.NET Multi-platform App UI (.NET MAUI) developers can use SignalR](https://github.com/aspnet/Announcements/issues/305) for building Android and iOS apps.
35
35
36
36
If the server runs IIS, the WebSockets transport requires IIS 8.0 or later on Windows Server 2012 or later. Other transports are supported on all platforms.
0 commit comments