如何在不打开C / Side浏览器的情况下调用URL?

时间:2014-12-26 14:15:54

标签: microsoft-dynamics dynamics-nav dynamics-nav-2013

我们在一台服务器上使用C / Side尝试在不打开浏览器窗口的情况下调用另一台服务器上的PHP脚本的URL。我们希望脚本作为后台进程运行。到目前为止,我们尝试的所有内容都会打开浏览器。有什么建议吗?

2 个答案:

答案 0 :(得分:0)

我使用HttpClient来做到这一点。但是在Nav中并不是那么直接,因为你不能调用异步方法并将其返回值赋给变量。所以我在c#中创建了一个包装类。

public class NavHttpClient
{
    private HttpResponseMessage responseMsg;
    public HttpResponseMessage ResponseMsg
    {
        get { return responseMsg; }
    }

    public async Task GetAsync(string requestUri)
    {
        HttpClient client = new HttpClient();
        responseMsg = await client.GetAsync(requestUri);
    }
}

然后我在类库中导出了这个类。现在我可以用这种方式导航:

NavWebClient:DotNet NavWebClient.NavHttpClient.'NavWebClient,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'

NavWebClient := NavWebClient.NavHttpClient;
NavWebClient.GetAsync('http://localhost').Wait;

IF NavWebClient.ResponseMsg.IsSuccessStatusCode THEN
  ...

答案 1 :(得分:0)

this解决方案是否符合您的需求?内部有link到Nav 2013的代码单元,允许以Nav风格使用Web服务。