【发布时间】:2023-03-13 19:01:02
【问题描述】:
我收到来自服务器的 HTTP 400 Bad Request,使用 Fiddler2 我可以看到原因是
服务器在处理请求时遇到错误。异常消息是“访问被拒绝。”。有关更多详细信息,请参阅服务器日志。异常堆栈跟踪位于 System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
我在本地测试时从未得到过这个。是否有遗漏的 IIS 设置?
当我使用浏览器连接到 svc 文件时,它似乎没问题,只有当我尝试从我的测试客户端使用 POST 方法时。
我确保更改和 baseAddress 以匹配服务器。
有没有办法远程调试 Web 服务?我以前做过windows服务。
更新:在弄清楚如何远程调试之后,我让它工作了,这只是一个异常,导致 Web 服务崩溃并返回 400 错误。我将包含有关如何远程调试 Web 服务的步骤。
- 在服务器上运行 msvsmon.exe
- 在 Visual Studio 中使用菜单调试 -> 附加到进程...
- 连接服务器,找到w3wp.exe(可能不存在,如果不存在,访问web服务启动会话)
- 从客户端访问 Web 服务,它应该可以工作。
更多info
【问题讨论】:
-
您在 web.config 文件中配置了哪种通信方式?您可以在 Web 浏览器上输入服务端点的地址并访问该服务吗? (...../XY.svc) ?您是使用 http 还是 https 作为服务端点?
-
抱歉,这是一个返回 JSON 的 WCF REST 服务。是的,浏览器可以访问.svc,但是一旦我访问方法,我就会得到错误。 XY.svc/Method 我用客户端发送一个 POST JSON 对象。