小编Moh*_*mad的帖子

在 Windows Server 2012 R2 上发送 http/2 请求

我想在我的应用程序中使用 APNs 推送服务,所以我使用以下代码:

    var responseString = string.Empty;
    using (var request = new HttpClient(new Http2CustomHandler()))
    {
        var content = new StringContent(body);
        request.DefaultRequestHeaders.Add("authorization", $"bearer {authorization}");
        request.DefaultRequestHeaders.Add("apns-topic", topicName);
        if (!string.IsNullOrWhiteSpace(iD)) request.DefaultRequestHeaders.Add("apns-id", iD);
        if (!string.IsNullOrWhiteSpace(expiration)) request.DefaultRequestHeaders.Add("apns-expiration", expiration);
        if (!string.IsNullOrWhiteSpace(priority)) request.DefaultRequestHeaders.Add("apns-priority", priority);
        if (!string.IsNullOrWhiteSpace(collapseID)) request.DefaultRequestHeaders.Add("apns-collapse-id", collapseID);
        var result = request.PostAsync(url, content).GetAwaiter().GetResult();

        responseString = result.Content.ReadAsStringAsync().GetAwaiter().GetResult();
    }
Run Code Online (Sandbox Code Playgroud)

它在我的机器上工作得很好(Windows 10)。但是当我在我的服务器(windows server 2012 R2)上部署应用程序时,它会抛出这个异常:

System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: A security error occurred
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个问题?

c# iis web-services apple-push-notifications dotnet-httpclient

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

具有自定义索引的对象数组

我有这两个类:

public class Message
{
    string Message;
    string Code;
}

public class MessageInitializer
{
    DataSet ds;
    DataRow dr;
    message[] ms;
}
Run Code Online (Sandbox Code Playgroud)

我想像这样创建一个构造函数MessageInitializer:

MessageInitializer()
{
    this.ms = new Message[ds.Tables[0].Rows.Count];
    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
    {
        dr = ds.Tables[0].Rows[i];
        ms[(string)dr.ItemArray[0]] = (string)dr.ItemArray[1];
    }
}
Run Code Online (Sandbox Code Playgroud)

但是数组的索引必须是int类型.我不知道如何解决这个问题:

ms[(string)dr.ItemArray[0]] = (string)dr.ItemArray[1];
Run Code Online (Sandbox Code Playgroud)

更新:

代码格式是这样的字符串:[001-001-001],所以我无法将其转换为整数.

c#

5
推荐指数
2
解决办法
1471
查看次数

手动设置服务引用的命名空间

在 Visual Studio 中添加 Web 引用时,生成的代理类会自动使用默认命名空间,该命名空间由应用程序的默认命名空间和 Web 引用名称组成。问题是我有一个配置文件 Web 服务,我的所有项目都使用它来进行身份验证。由于命名空间,我无法添加配置文件类作为链接。现在我想知道是否有任何方法可以手动设置引用名称?(或者也许有更好的方法可以解决我的问题。)到目前为止,我发现了这一点:

1- 转到服务Reference.cs,然后重命名命名空间。(问题是每次我更新服务时,命名空间都会恢复为默认值)

2- 我发现了这一点:在 Visual Studio 中手动设置 Web 服务代理类的命名空间(问题是我必须更改可能导致意外错误的构建事件。)

c# wcf soap web-services namespaces

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

将xml字符串反序列化为对象

我写了这个方法,以便将xml字符串转换为对象:

private object Deserializer(Type type)
{
    object instance = null;
    try
    {
        XmlSerializer xmlSerializer = new XmlSerializer(type);
        using (StringReader stringreader = new StringReader(somestring))
        {
            instance = (type)xmlSerializer.Deserialize(stringreader);
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }

    return instance;
} 
Run Code Online (Sandbox Code Playgroud)

但在这里:

instance = (type)xmlSerializer.Deserialize(stringreader);
Run Code Online (Sandbox Code Playgroud)

此错误显示:找不到类型或命名空间名称'type'(您是否缺少using指令或程序集引用?)我该如何解决?

c#

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

生成带边界的随机坐标

我想要一种方法来生成带边界的随机坐标.这样的事情:

private Coordinate[] Calculate(Coordinate location1, Coordinate location2, Coordinate location3, Coordinate location4)

public class Coordinate
{
    public double Latitude { set; get; }
    public double Longitude { set; get; }
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何生成指定无线电的坐标. 在此输入图像描述

.net c# math location coordinates

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

使用 Google 的 libphonenumber 库接受移动电话号码,但不接受固定电话号码

我正在使用 Google 的 libphonenumber 库来验证手机号码,但我只想接受手机号码并拒绝固定电话号码。

这可能吗?

这是我的电话号码验证码:

    public bool MobileNumberContentValidator(string mobileNumber, string region)
    {
        var phoneUtil = PhoneNumberUtil.GetInstance();
        var phone = phoneUtil.Parse(mobileNumber, region.ToUpper());

        if (phoneUtil.IsValidNumber(phone))//its validate all kind of phone numbers
            return true;
        else
            return false;
    }
Run Code Online (Sandbox Code Playgroud)

此方法可验证固定电话号码和手机号码。我想拒绝固定电话号码并接受手机号码。

c# libphonenumber

-7
推荐指数
1
解决办法
2562
查看次数