gpt4 book ai didi

c# - 如何调试此 Web 服务?

转载 作者:行者123 更新时间:2023-11-30 15:39:16 26 4
gpt4 key购买 nike

我有一个简单的网络服务,看起来像这样:

[WebMethod]
public OrderForecastItem GetOrderForecast(int shipTo, string catalogName, bool showPricing)
{
return OrderForecastManager.GetOrderForecast(shipTo, catalogName, showPricing);
}

我以一种相当简单的方式从另一个地方调用它:

using (OrderForecastWS.OrderForecastWS service = new OurSite.Web.Reporting.OrderForecastWS.OrderForecastWS())
{
OrderForecastItem orderForecastItems = service.GetOrderForecast(2585432, "DENTAL", false);
}

经过一些体操让系统理解我在客户端和服务器端谈论相同类型的对象(我不得不打开我的 中的 Reference.cs 文件>Web References,删除生成的 OrderForecastItem 并添加指向我们真实的 OrderForecastItem 的链接),系统运行并尝试获取项目。

不幸的是,它现在在服务调用期间爆炸,声称:

Exception There is an error in XML document (1, 1113).(InvalidOperationException)

我可以在浏览器中访问 Web 服务,输入相同的值,然后我得到一个看似有效的 XML 响应。 (我觉得没问题,我通过 W3School 的 XML 解析器运行它,它清除了它。)

我认为错误中的数字应该是行号和字符号...但是浏览器似乎重新格式化了 xml 文档,所以我无法轻易看到原始 (1, 1113) 位置是什么。

我没有看到一种简单的方法来拦截响应并检查它,因为它似乎一收到它就爆炸了。

我该如何调试?

最佳答案

如果您控制该服务,则可以进入该服务。如果它是您解决方案的一部分并托管在本地机器上的 VS WebDev 中,只需从 Visual Studio 中按 F11,如果服务是远程托管的(例如,通过其他计算机上的 IIS),请在服务主机上运行远程调试工具 msdn ,然后您就可以远程介入该服务了。

顺便说一下,您可以告诉 Visual Studio 为服务类型重用引用库中的对象:只需从服务上下文菜单中选择配置服务引用并告知要重用哪些库。

转念一想,如果无法将返回的 XML 反序列化为您的业务对象,则可能会发生此错误。可能会在任何一方更改类时发生,或者您尝试使用与服务正在使用的不同版本的业务库。

关于c# - 如何调试此 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com