2014-09-03 83 views
0

我原来的问题是,我没有得到任何XML响应 - 只JSON - 更改后使用的XmlSerializer:网络API跟踪,库版本

var xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter; 
xml.UseXmlSerializer = true; 

所以我想安装的Web API示踪剂描述: http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api

安装跟踪包和更新虚拟主机提供商后,我得到了以下错误:

Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.

,在这里我,我解决不了这个问题,我不是S我理解它。

我从那里我使用Maven和它帮助我解决依赖java的话来,我可以检查的pom.xml文件等

我想包管理器的工作原理类似的方式,不知何故依赖关系被定义,但在我的情况下,我找不到任何与日志或任何其他与System.Web.Http包相关的东西。

我意识到我甚至找不到相关的web api包,并找出我正在使用的是哪个版本。

所以,请你帮我从一开始就明确的东西, - 我怎样才能找到我使用的网络API版本, - 哪里是定义此Web API库 参考 - 如何我发现跟踪包 需要哪个web api版本 - 哪里是对System.Web.Http包的引用?

我希望这将足以解决我的问题。

thx!

回答

0

Web Api默认返回JSON或XML。这取决于消费者如何请求服务。例如,如果您使用jquery ajax请求,则可以指示dataType:xml

关于引用,如果您使用的是Nuget,则项目中会有一个文件packages.config,指出已安装的软件包和版本。我想这跟Maven很相似。

否则,您可以随时查看“解决方案资源管理器”窗口中的参考,并检查引用的库的版本。

顺便说一句,要添加System.Web.Http库(是框架的一部分)转到参考和添加新的引用。在Framework部分中搜索System.Web.Http并将其添加到项目中。

如果你需要更多的细节让我知道。

+0

Web APi仅在可以序列化所有对象时返回XML。如果没有,它会回落到json串行器。当我配置使用XmlSerializer而不是DataContractSerializer时,它不再返回xml。这就是为什么我想安装示踪剂。 感谢有关packages.config的提示! 我会再试一次,让你知道结果。 – user1414731 2014-09-03 11:00:51