无法调试从MS Access调用的Web API

时间:2016-08-01 18:36:59

标签: asp.net-mvc ms-access asp.net-web-api

我有一个从MS Access VBA模块调用的Web API(.Net MVC),如下所示:

objHTTP.Open "POST", "http://ourwebserver/api/run", False
objHTTP.setRequestHeader "Content-Type", "application/json"
objHTTP.send (body) 'body is a string containing the parameters to be used
Debug.Print objHTTP.Status
Debug.Print objHTTP.responseText

好吧,我需要能够调试实际的api。所以,我将项目全部加载到我的本地机器上,但我不确定如何实际调试代码。

我到目前为止尝试的是运行项目,在控制器顶部设置断点,然后将objHTTP.Open命令更改为指向已创建的localhost条目:

objHTTP.Open "POST", "http://localhost:54321/api/run", False

以及:

objHTTP.Open "POST", "http://localhost:54321/", False

...但是,在这两种情况下,断点都不会被击中。它失败了Status = 500

我也试过附加到调试器......但我不知道要将它附加到哪个。列表中没有w3wp.exe。我曾尝试将其附加到MSACCESS.exe和Chrome,但我没有成功。当我附加到MSACCESS.exe时,出现无法建立连接的错误。

基本上,我试图弄清楚如何告诉我的VBA进程调用我的本地API代码,以便我可以调试它。我很难搞清楚要实现这一目标的神奇话语。

编辑:对于记录,当我尝试运行项目(来自VS的F5)时,我在浏览器中获得以下RTE:

  

无法加载文件或程序集' Antlr3.Runtime'或其中一个   依赖。 API调用异常退出。 (HRESULT的例外情况:   0x800300FA(STG_E_ABNORMALAPIEXIT))

1 个答案:

答案 0 :(得分:2)

搞清楚了!我之前在我的本地机器上运行过此解决方案,但忘记了让它运行所需的魔法。基本上,这个错误:

  

无法加载文件或程序集' Antlr3.Runtime'或其中一个   依赖。 API调用异常退出。 (HRESULT的例外情况:   0x800300FA(STG_E_ABNORMALAPIEXIT))

...是我的web.config文件中Identity Impersonatetrue的结果。所以,我们这样做:

<identity impersonate="false" userName="dom\UserName" password="#########"/>

然后,我能够在没有错误的情况下将F5导入我的网络应用程序,并在VBA中使用此代码调用API:

objHTTP.Open "POST", "http://localhost:54321/api/run", False

我现在可以从Access调用API,点击断点并逐步完成!