小编Tom*_*zyk的帖子

如何使用HttpClient将带有JSON的DELETE发送到REST API

我必须使用HttpClient类向具有JSON内容的REST API服务发送删除命令,并且无法使其正常工作.

API调用:

DELETE /xxx/current
{
 "authentication_token": ""
}
Run Code Online (Sandbox Code Playgroud)

因为我无法在下面的语句中添加任何内容:

HttpResponseMessage response = client.DeleteAsync(requestUri).Result;
Run Code Online (Sandbox Code Playgroud)

我知道如何使用RestSharp来完成这项工作:

var request = new RestRequest {
    Resource = "/xxx/current",
    Method = Method.DELETE,
    RequestFormat = DataFormat.Json
};

var jsonPayload = JsonConvert.SerializeObject(cancelDto, Formatting.Indented);

request.Parameters.Clear();
request.AddHeader("Content-type", "application/json");
request.AddHeader ("Accept", "application/json");
request.AddParameter ("application/json", jsonPayload, ParameterType.RequestBody);

var response = await client.ExecuteTaskAsync (request);
Run Code Online (Sandbox Code Playgroud)

但我没有RestSharp就完成了.

c# httpclient portable-class-library

30
推荐指数
3
解决办法
3万
查看次数

为什么List <T>的SequenceEqual返回false?

嗨,当我遇到这样的情况时,我对sequenceEqual有一些问题:

Sentence s1 = new Sentence { Text = "Hi", Order = 1 };
Sentence s2 = new Sentence { Text = "Hello", Order = 2 };
List<Sentence> list1 = new List<Sentence> { s1, s2 };
List<Sentence> list2 = new List<Sentence> { s1, s2 };
Run Code Online (Sandbox Code Playgroud)

这很好用

bool equal = list1.SequenceEqual(list2);
Run Code Online (Sandbox Code Playgroud)

并返回true;

但是当我有一些方法返回时List<Sentence> ,例如:

public List<Sentence> Getall()
    {
        Sentence s1 = new Sentence { Text = "Hi", Order = 1 };
        Sentence s2 = new Sentence …
Run Code Online (Sandbox Code Playgroud)

c# comparison list

8
推荐指数
2
解决办法
1万
查看次数

Xamarin 应用程序发布模式下的 NullReferenceException

在对 REST API 的简单 POST 请求中,我将对象序列化为 JSON,如下所示:

var userDto = new { user = new { login = Username, password = Password } };
var jsonPayload = JsonConvert.SerializeObject(userDto, Formatting.Indented);
Run Code Online (Sandbox Code Playgroud)

在调试模式下一切正常,但在发布模式下jsonPayload变量为空,并且在我的 try/catch 中我得到NullReferenceException. 为什么这个变量的值在调试/发布中不同以及如何解决这个问题?

这是 Android 应用程序,我已启用互联网权限。

c# android xamarin

3
推荐指数
1
解决办法
1276
查看次数

在 OnRegistered 方法中向 NotificationHub 添加标签

在我成功登录后的应用程序中,我想使用标签注册到 NotificationHub,其中 Tag 是电子邮件地址。

以下场景在 iOS 上运行良好:

MessagingCenter.Subscribe<LoginViewModel, string>(this, MessagesId.RegisterForPush, (s, arg) =>
            {
                NSSet tags = new NSSet(arg); // create tags if you want
                Hub.RegisterNativeAsync(deviceToken, tags, (errorCallback) =>
                {
                    if (errorCallback != null)
                        Console.WriteLine("RegisterNativeAsync error: " + errorCallback.ToString());
                });
            });
Run Code Online (Sandbox Code Playgroud)

但相当于 Android 抛出一个NetworkOnMainThreadException

MessagingCenter.Subscribe<LoginViewModel, string>(this, MessagesId.RegisterForPush, (s, arg) =>
        {
            var tags = new List<string>() { arg };

            try
            {
                var hubRegistration = Hub.Register(registrationId, tags.ToArray());
            }
            catch (Exception ex)
            {
                Log.Error(PushHandlerBroadcastReceiver.TAG, ex.Message);
            }
        });
Run Code Online (Sandbox Code Playgroud)

你知道如何解决这个问题吗?

c# xamarin azure-notificationhub xamarin.forms

1
推荐指数
1
解决办法
3254
查看次数

每个int变量的值不同

我有五个int变量:

int firstSequence;
int secondSequence;
int thirdSequence;
int fourthSequence;
int fifthSequence;
Run Code Online (Sandbox Code Playgroud)

这些变量中的每一个都可以具有1-5的值.如果每个变量都具有唯一值,如何以最有效的方式检查?我的意思是只有一个可以有值= 1等.

private bool IsOrderCorrect()
    {
        if(firstSequence != secondSequence && ...)
    }
Run Code Online (Sandbox Code Playgroud)

c# algorithm

0
推荐指数
1
解决办法
143
查看次数