asp.net-web-api – 间歇性“无法加载类型”System.Net.Http.For
我正在处理一个包含ASP.NET WebAPI组件的项目.
间歇地,我得到以下错误:
源错误指向我的GlobalConfiguration.Configure()调用: Line 35: { Line 36: AreaRegistration.RegisterAllAreas(); Line 37: GlobalConfiguration.Configure(WebApiConfig.Register); //<-- error here Line 38: FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); Line 39: RouteConfig.RegisterRoutes(RouteTable.Routes); 在我的注册表中,我正在执行以下操作以默认返回JSON: var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes .FirstOrDefault(t => t.MediaType == "application/xml"); if (appXmlType != null) { config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType); } (不确定来源,但是在本网站的某处发现默认情况下返回JSON,除非调用者询问其他内容) 我想继续返回JSON作为默认内容类型. 该项目包括另外两个(非WebAPI)网站(即MVC5),它们打到WebAPI站点. 这是有趣的事情: >当应用程序部署到Azure时,不会发生这种情况 我目前正在解决的问题: >如果我在调试器中运行WebAPI站点,如果出现错误,它将自动修复 只是重复一遍,当应用程序部署到Azure时,这不会发生. 我有这个项目的多个开发人员,在某个阶段我们都遇到同样的错误. 我参考以下Nuget软件包: > Microsoft.AspNet.WebApi(版本5.2.3) 如果我查看* .csproj文件,我有一个引用以下内容: <Reference Include="System.Net.Http.Formatting,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL"> <HintPath>..packagesMicrosoft.AspNet.WebApi.Client.5.2.3libnet45System.Net.Http.Formatting.dll</HintPath> <Private>True</Private> </Reference> 我已经检查了该网站的bin文件夹,其中的所有程序集都具有正确的版本,如上所述(包括System.Net.Http.Formatting.dll). 另请注意,在调试和开发过程中,三个网站中的每一个都在本地IIS下运行(外部资源的约束迫使我们这样做),所以我有: > http:// localhost / site1 进入调试会话变得麻烦,要得到这个错误,然后停止调试,在调试器下启动API站点,然后切换回我在开始时所做的工作. 不知道在哪里去跟踪这里发生了什么.有任何想法吗? 更新 – 2016年7月26日 仍然有这种情况发生.自从发布问题以来,已经更新了WebAPI以在自己的应用程序池中运行,但这似乎没有什么不同. 解决方法
卸载的Web API 2 NuGet软件包 再次安装了Web API 2 NuGet软件包.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 模型单元测试能否真正独立,如何[ASP.NET MV
- nTier应用程序中的.Net会员资格
- asp.net-core – Razor模板中的特殊字符未正确编码
- ASP.net上的URL路由,需要从url获取参数
- asp.net-mvc-3 – MVC脚手架问题
- asp.net – Vs html
- 如何从ASP.NET Web API方法中查找声明的内容?
- asp.net – 访问网站根目录时,FormsAuthentication重定向到
- asp.net-mvc – MVC 5具有身份验证模式的外部身份验证=表单
- asp.net-mvc-3 – asp.net mvc的telerik grid的开源替代品?