小编Don*_*zov的帖子

按钮单击时调用异步方法

我创建了Windows Phone 8.1项目,我试图在按钮单击时运行异步方法GetResponse(字符串url)并等待方法完成,但方法永远不会完成.这是我的代码:

private void Button_Click(object sender, RoutedEventArgs 
{
      Task<List<MyObject>> task = GetResponse<MyObject>("my url");
      task.Wait();
      var items = task.Result; //break point here
}

public static async Task<List<T>> GetResponse<T>(string url)
{
    List<T> items = null;
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);

    var response = (HttpWebResponse)await Task.Factory.FromAsync<WebResponse>(request.BeginGetResponse, request.EndGetResponse, null);
    try
    {
        Stream stream = response.GetResponseStream();
        StreamReader strReader = new StreamReader(stream);
        string text = strReader.ReadToEnd();
        items = JsonConvert.DeserializeObject<List<T>>(text);
    }
    catch (WebException)
    {
        throw;
    }
    return items;
}
Run Code Online (Sandbox Code Playgroud)

它会挂在task.Wait()上.

我将按钮单击方法更改为异步并在异步方法之前使用等待,我得到结果(await GetResponse<string>("url")).有什么问题Task<List<string>> task = …

c# wpf multithreading asynchronous windows-phone-8

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

无法从文本中删除新行

我有这个文本</ul>.标签之前有一个新行.所以我无法使用此代码删除该行.

str = str.Replace(Environment.NewLine,"");
Run Code Online (Sandbox Code Playgroud)

但是这段代码只适用于通常的字符串.

<ul style="list-style-type&#58;circle;">
  <li><a class="ms - wikilink" href="/Test.aspx">Test1</a></li>

</ul>
Run Code Online (Sandbox Code Playgroud)

c# string

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

启动.exe文件而不用路径c#

我如何使用c#代码启动exe文件?所以我有这个:

Process.Start( @"C:\Program Files (x86)\Photoshop\Photoshop.exe");
Run Code Online (Sandbox Code Playgroud)

但是其他机器的路径可能不同.那么有什么想法以不同的方式运行.exe吗?

谢谢!

c# system.diagnostics process c#-6.0

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