小编Max*_*xim的帖子

HttpClient.PostAsync用退出代码0敲出应用程序

一切都在今天工作,直到它停止...以下是最小的源代码(我正在使用VS 2012 Update 1 .Net 4.5).当我运行它时,app会在调用client.PostAsync()时退出,因此它永远不会到达Console.ReadLine().在调试器中也一样,没有例外,没有,退出代码0.

我尝试重新启动机器,重新启动VS2012 - 没有任何作用.

同样,今天一切都在运行,不确定发生了什么变化(没有安装任何软件等,所有其他网络应用仍然有效).

有任何想法吗?我想我正在失去理智.

class Program
{
    static void Main(string[] args)
    {
        Run();
    }

    private async static void Run()
    {
        using (var client = new System.Net.Http.HttpClient())
        {
            var headers = new List<KeyValuePair<string, string>>
                              {
                                  new KeyValuePair<string, string>("submit.x", "48"),
                                  new KeyValuePair<string, string>("submit.y", "15"),
                                  new KeyValuePair<string, string>("submit", "login")
                              };

            var content = new FormUrlEncodedContent(headers);

            HttpResponseMessage response = await client.PostAsync("http://www.google.com/", content);

            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# httpclient async-await .net-4.5 visual-studio-2012

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

将JSON字符串定位到对象中的路径

我有一个类似于这个的JSON字符串:

{
    "Version": "XXX",
    "Statements": [
        {...},
        {...},
        {...}
    ]
}
Run Code Online (Sandbox Code Playgroud)

如何找出XX在JSON字符串的字符中定义Statements属性中的哪个对象?(考虑到那些对象可以任意深度嵌套).

例如,如果我有一个字符串

{"Version":"XXX","Statements":[{"a":1},{"b":2},{"b":3}]}
--------------------------------------------------------
123456789 123456789 123456789 123456789 123456789 123456
Run Code Online (Sandbox Code Playgroud)

然后位置上的字符36将对应于第一个语句对象,而位置上的字符52将对应于第三个语句对象.

javascript json

15
推荐指数
3
解决办法
876
查看次数

Python + OpenCV 3 - 无法使用SIFT

我从最新的源代码编译了OpenCV 3和opencv_contrib.将其安装到Python 2.7的site-packages文件夹中.我可以访问http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.html上的所有教程,但涉及SIFT 的教程除外.

这是我得到的错误:

Traceback (most recent call last):
  File "C:\Projects\icu\ex01.py", line 9, in <module>
    sift = cv2.SIFT()
AttributeError: 'module' object has no attribute 'SIFT'
Run Code Online (Sandbox Code Playgroud)

请帮忙.我搜索并搜索和搜索,无法找到任何与Opencv3相关的内容.

哦,我使用Visual Studio 2013来构建它.

python opencv sift

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

将JSON反序列化为子类

我有3个班:

class Person {
    public bool IsFemale { get; set; }
}

class Female : Person {
    public string FemaleSpecificProperty { get; set; }
}

class Male: Person { 
    public string MaleSpecificProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何根据属性的值将给定的JSON字符串反序列化为特定的实例(FemaleMale)Person.IsFemale?(我不知道使用了哪种确切的类型,而且该属性是唯一的指示)

我看着雇用,CustomCreationConverter<T>但无法弄清楚如何使它在这里工作.

c# json.net

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

Lync - 与ContactEndpoints的不一致行为

我正在为基于Lync的公司目录开发自定义UI.使用Lync 2013我执行此搜索:

Container.Instance.Lync.ContactManager.BeginSearch(SearchQuery,
            SearchProviders.GlobalAddressList,
            SearchFields.AllFields,
            SearchOptions.IncludeContactsWithoutSipOrTelUri,
            500,
            ContactsAndGroupsCallback, SearchQuery);
Run Code Online (Sandbox Code Playgroud)

对于每个匹配的联系人,我尝试访问其端点以显示电话号码:

var cit = ContactInformationType.ContactEndpoints;
var endpoints = contact.GetContactInformation(cit) as List<object>;
Run Code Online (Sandbox Code Playgroud)

问题

如果找到联系人在我用来连接Lync的帐户的联系人列表中,那么我可以访问完整的详细信息(5个端点).但是,如果他不在联系人列表中,我只能访问1个端点.

任何想法为什么会这样发生?是否需要关闭全球隐私设置?

如何随时访问所有端点?

谢谢.

PS:我试图单独加载结果集中的每个联系人,但仍然会得到相同的行为.

c# lync

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

从外围设备传入BLE连接后,iOS停止唤醒应用程序

我们有一个BLE外围设备,它每小时连接一次电话并传递一些数据。该过程的工作原理如下:

在与主要推出UIApplicationLaunchOptionsBluetoothCentralsKey

  1. application(didFinishLaunchingWithOptions launchOptions) 应用程序使用传递给它的ID重新初始化CBCentralManager。
  2. 然后,它经历常规的恢复周期,并从BLE外设读取数据。
  3. 对云中的服务执行REST请求。

假设该应用已在手机重启后至少启动了一次,那么一切在几天内都能正常运行(如果应用未运行或被迫退出内存,则iOS会再次正确启动它(假设用户没有手动关闭)。

但是,当BLE设备收到传入请求时,iOS每隔几天就会停止唤醒应用程序。如果用户重新启动应用,几天后一切都将正常运行,然后再次停止。考虑到我们产品的性质,至关重要的是使我们的应用程序/外围设备以尽可能可靠的方式协同工作。

关于可能发生这种情况的理论:(
经过仔细检查,所有这些人都被解雇了)

  • 用户重新启动电话而忘记重新启动该应用程序。
    我们添加了正常运行时间的日志记录,它表明手机在两次应用启动之间没有重启。

  • 内存警告导致应用程序被启动。
    再次添加日志记录,他们表明没有applicationDidReceiveMemoryWarning

  • 不良的连接会导致应用在上载结果时运行超过10s的时间,而iOS会终止该结果并使
    我们不高兴。我们人为地延迟了15s的服务器响应时间来进行测试,并且在测试过程中一切正常运行。

关于正在发生的事情以及为什么iOS停止通知应用程序有关传入BLE连接的任何想法?

问题之一是我们无法弄清楚如何可靠地重现该问题,因此任何建议也将不胜感激!

谢谢!


更新1: 这是我们如何初始化CBCentralManager

self.centralManager = CBCentralManager(delegate: self, queue: nil, options: [
    CBCentralManagerOptionRestoreIdentifierKey : MyCentralManagerID,
    CBCentralManagerOptionShowPowerAlertKey : 0])
Run Code Online (Sandbox Code Playgroud)

我看到一些建议,即队列参数不应为nil。鉴于我无法可靠地重现问题,因此我不愿进行更改,直到我可以放心地观察到其影响为止。

iphone ios bluetooth-lowenergy cbcentralmanager

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