如何从统一的非主线程执行http请求?

时间:2014-02-07 11:26:31

标签: c# multithreading http web unity3d

我在C#中使用WWW库用于Unity。当我从主线程调用函数发送时,它没问题。

PostWorker pw = new PostWorker();    
API.instance.StartCoroutine(pw.Send(url, postParams));

但是当我尝试从PostWorker中创建它时

API.instance.StartCoroutine(Send(url, postParams));

这种错误不起作用:

  

只能从主线程调用StartCoroutine_Auto。

如果我在没有Coroutine的情况下调用此功能,则该功能无法正常工作,请勿输入Send

private IEnumerator Send(string path, Dictionary<string, string> postData)
{
    WWWForm form = new WWWForm();
    if (postData != null && postData.Any())
    {
        foreach (var item in postData)
        {
            form.AddField(item.Key, item.Value);
        }
    }

    WWW www = new WWW(path, form);
    yield return www;

    if (string.IsNullOrEmpty(www.error))
    {
        Debug.Log(www.text);
    }
    else
    {
        Debug.Log(www.error);
    }
}

那么,我如何从非主线程执行http请求?

0 个答案:

没有答案