几个开发中遇到的问题及解决办法

1 StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1
解决办法:将请求中的localhost 改为实际的IP
2 HttpClient 无法调用PostAsJsonAsync()方法

解决办法:添加System.Net.Http.Formatting的依赖引用


3:ASP.NET CORE webapi客户端访问Controller时找不到对象的方法,报出错误:
AmbiguousActionException: Multiple actions matched. The following
actions matched route data and had all constraints satisfied:
MyDemo.Controllers.PlanController.Get (MyDemo)
MyDemo.Controllers.PlanController.ACD (MyDemo)
解决办法: 在方法上添加路由 例如:
[HttpGet("{id}" )]
[Route("ACD")]
public string ACD(int id)
{
string A = ""+"FDSAFDSAF";
return "value" + A;
}

4 我在visual studio 2015搭建的项目,用vs2017打开后,一直报错: 发现“Newtonsoft.Json”的不同版本间存在无法解决的冲突。
之前“Newtonsoft.Json”版本用的是4.5.0.0,用VS 打开后,网站登录时报错 未能加载文件或程序集Newtonsoft.Json 6.0.0.0的版本或者他的依赖项,因此我将Newtonsoft.Json引用的版本换成了我6.0.0.0,可是 项目启动时候又开始了报别的错误:找不到Newtonsoft.Json 4.5.0.0的文件或者依赖项,我明白了因为System.Net.Http.Formatting.dll版本是4.0.0.0,这个文件需要Newtonsoft.Json 4.5.0.0,而这句话报错的地方发生在Application_Start()方法中的 WebApiConfig.Register(GlobalConfiguration.Configuration);

我尝试了各种各样的方法,例如网上讲的添加 <dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json"
publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0"
newVersion="8.0.0.0" />
</dependentAssembly>等等 ,都不管用。


解决办法:最后我将WebApiConfig.RegisterGlobalConfiguration.Configuration); 注释掉了,暂时解决了此问题。这并不是一个完美的解决办法,不过暂时我没找到更好的办法

猜你喜欢

转载自www.cnblogs.com/liebehang/p/9400474.html
今日推荐