C# 在C中从后端发送UWP原始通知#
我被一个看起来很简单的问题困住了。 一点背景:我正在用Xamarin开发一个应用程序,Xamarin是C#中的一个后端,并使用Azure作为推送通知中心 我的目标是通过Azure通知中心将原始通知从后端发送到我的UWP应用程序。Badge、tile或toast通知在我的项目中没有选项,因此我只能使用原始通知 应用程序正在Win10计算机上运行,并已成功向通知中心注册。从Azure works测试发送通知(任何一种) 后端也在同一网络中的Win10计算机上运行。应用程序和后端通过REST进行通信(也在工作) 现在的问题是: 我尝试使用以下代码从后端向通知中心发送原始通知:C# 在C中从后端发送UWP原始通知#,c#,azure,xamarin,push-notification,uwp,C#,Azure,Xamarin,Push Notification,Uwp,我被一个看起来很简单的问题困住了。 一点背景:我正在用Xamarin开发一个应用程序,Xamarin是C#中的一个后端,并使用Azure作为推送通知中心 我的目标是通过Azure通知中心将原始通知从后端发送到我的UWP应用程序。Badge、tile或toast通知在我的项目中没有选项,因此我只能使用原始通知 应用程序正在Win10计算机上运行,并已成功向通知中心注册。从Azure works测试发送通知(任何一种) 后端也在同一网络中的Win10计算机上运行。应用程序和后端通过REST进行通信(
var message = "Test";
Notification notification = new WindowsNotification( message );
notification.Headers.Add( "X-WNS-Type", @"wns/raw" );
try
{
return await _notificationHub.SendNotificationAsync( notification, tag ); ;
}
catch( Exception e )
{
System.Diagnostics.Debug.WriteLine( $"===> Notification {message} \nTO {tag} could not be sent !!" );
System.Diagnostics.Debug.WriteLine( $"{e.Message}" );
}
我想,这应该是发送原始通知的基本代码。
但我得到一个例外声明:
“wns/raw”通知的内容类型必须为“应用程序/八位字节流”。TrackingId:xxx,时间戳:2018年8月24日1:07:20 PM
所以我加了一行
notification.Headers.Add( "Content-Type", @"application/octet-stream" );
在“try”语句上方。
现在我得到了一个例外
误用的标题名。确保请求头与HttpRequestMessage一起使用,响应头与HttpResponseMessage一起使用,内容头与HttpContent对象一起使用
…我不知道如何正确设置标题
有人能给我一个有用的建议吗
提前THX
另外,将VS2017与“Microsoft.AspNetCore.All 2.0.7”和“Microsoft.Azure.NotificationHubs 2.0.0-preview2”一起使用(仅提及重要的库)
“wns/raw”通知的内容类型必须为“应用程序/八位字节流”
此消息意味着您需要指定“wns/raw”通知的内容类型。我检查了文档,它有一个
通知。ContentType
属性,请尝试指定此属性的值。感谢您的回复。但不幸的是,在添加了notification.ContentType=@“应用程序/八位字节流”之后代码>,异常仍然存在:“wns/raw”通知的内容类型必须为“应用程序/八位字节流”