mono对async/await支持够好吗?
起因
在qq群里,听到有人说,mono对async/await支持不够好,会有问题.于是做了一个简单的测试.
测试代码
using System;
//因命名空间有些冲突
using httpclient = System.Net.Http;
namespace HttpClient
{
class Program
{
static void Main(string[] args)
{
Test();
Console.ReadKey();
}
static async void Test()
{
httpclient.HttpClient client = new httpclient.HttpClient();
string result = await client.GetStringAsync("http://www.qiufengblog.com");
Console.WriteLine(result);
}
}
}
安装mono(windows为例)
- 下载地址:http://www.mono-project.com/download/ 有32和64位版本
下载MSIExtractor.exe,对mono-4.2.3.4-gtksharp-2.12.30-win32-0.msi提取- 找到提取的文件夹路径,添加到系统环境变量path中,编译的时候需要用
用mcs编译程序
1. 使用命令行进入代码所在的文件目录 //mcs 是mono的编译器 /r则是引用动态库
mcs Program.cs /r:System.Net.Http.dll /r:System.Net.Http.Formatting.dll
2.用mono命令运行程序
//mono.exe 来执行exe
mono Program.exe
3.可以看到mono用async/await是没问题的.
注意
不管在windows和linux下,要避免在exe所在目录不能有中文.如果有中文的话,会有提示 MONO_EXTERNAL_ENCODINGS
秋风
2016-11-02