小编Ber*_*rdG的帖子

System.Threading.Tasks中的NullReferenceException调用HttpClient.GetAsync(url)

我的MVC 4.0应用程序中有一个奇怪的问题.我使用REST Web服务(Amazon Associate).我创建了一个方法,我从各处使用它.缩短版本是这样的:

    private async Task<XElement> GetRequest(string url)
    {
        string myresponse;
        HttpResponseMessage response = null;
        HttpClient client = new HttpClient();            
        try
        {
            response = await client.GetAsync(url);
            myresponse = response.Content.ToString();
            if (myresponse.Contains("503"))
            {
                myTrace.WriteLine("503 Sleep.....");
                Thread.Sleep(3000); // looks like amazon us does not like fast requests....
                return await GetRequest(url); //restart after pausing....
            }
        }
        catch (TaskCanceledException ex)
        {
            myTrace.WriteLine("TaskCancelled From GetRequest: " + ex);
            return null;
        }

        catch (HttpRequestException ex)
        {
            myTrace.WriteLine("RequestException Sleep.....");
            Thread.Sleep(300000); // 5 minutes de pause 
        } …
Run Code Online (Sandbox Code Playgroud)

c# async-await

12
推荐指数
2
解决办法
8055
查看次数

Windows UWP Windows.Devices.SerialCommunication.SerialDevice无法正常工作

它只是我,还是这个bug?

serialPort = await SerialDevice.FromIdAsync(Id);
Run Code Online (Sandbox Code Playgroud)

serialPort即使Id不是,也总是为空.

我需要这个工作.现在我只是编写非常"快速和脏"的代码来测试来自Windows 10 Universal应用程序的串行通信.我在x86和x64中都调试了相同的结果.

这就是我现在所处的位置,但如果没有创建serialPort,我不能走得很远....

public class SerialComm
    {
        private SerialDevice serialPort;
        DataWriter dataWriteObject = null;
        DataReader dataReaderObject = null;

        public async void StartTest()
        {

            var deviceSelector = SerialDevice.GetDeviceSelector("COM3");
            var myDevices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync(deviceSelector);
            var myCurrentDevice = myDevices[0];
            string Id = myCurrentDevice.Id.ToString();

            try
            {
                serialPort = await SerialDevice.FromIdAsync(Id);
            }
            catch (Exception)
            {

                throw;
            }

            StringBuilder commandBuilder = new StringBuilder();

            while (true)
            {
                var rBuffer = (new byte[1]).AsBuffer();
                await serialPort.InputStream.ReadAsync(rBuffer, 1, InputStreamOptions.Partial);

                if …
Run Code Online (Sandbox Code Playgroud)

serial-port uwp

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

标签 统计

async-await ×1

c# ×1

serial-port ×1

uwp ×1