C# 从外部代码获取当前web api请求
我正在尝试编写代码,从web api操作的当前请求中获取一个文件,然后将该文件保存到服务器。此代码位于它自己的项目中,与主WebAPI项目分离。当代码运行时,我得到以下错误: 无法加载文件或程序集'System.Web.Http,版本=4.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。(来自HRESULT的异常:0x8013100) 这是它自己的项目中应该捕获请求的代码:C# 从外部代码获取当前web api请求,c#,asp.net-mvc,asp.net-web-api,asp.net-web-api2,C#,Asp.net Mvc,Asp.net Web Api,Asp.net Web Api2,我正在尝试编写代码,从web api操作的当前请求中获取一个文件,然后将该文件保存到服务器。此代码位于它自己的项目中,与主WebAPI项目分离。当代码运行时,我得到以下错误: 无法加载文件或程序集'System.Web.Http,版本=4.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。(来自HRESULT的异常:0x8013100) 这是它自己的项目中应该捕获请求的代码: public cl
public class Upload<T> where T : HttpRequestMessage
{
private readonly T _req;
// Constructor
public Upload()
{
}
public Upload(T t)
{
_req = t;
}
// METHODS
public async Task<HttpResponseMessage> SingleFile(string dirName, string typeDir)
{
// check request
if (!_req.Content.IsMimeMultipartContent())
{
return _req.CreateResponse(HttpStatusCode.UnsupportedMediaType);
}
// More code etc.
}
}
公共类上载,其中T:HttpRequestMessage
{
专用只读T_请求;
//建造师
公共上传()
{
}
公共上传(T)
{
_req=t;
}
//方法
公共异步任务单文件(字符串dirName,字符串typeDir)
{
//支票申请
if(!\u请求内容.IsMimeMultipartContent())
{
返回_req.CreateResponse(HttpStatusCode.UnsupportedMediaType);
}
//更多代码等。
}
}
这是主web api项目中的调用代码:
[HttpPost]
public HttpResponseMessage CreateProduct()
{
var up = new FileTools.Upload<HttpRequestMessage>(this.Request);
var message = up.SingleFile("test", "mytestDir"); // error appears here
return message.Result;
}
[HttpPost]
公共HttpResponseMessage CreateProduct()
{
var up=new FileTools.Upload(this.Request);
var message=up.SingleFile(“test”,“mytestDir”);//此处出现错误
返回消息。结果;
}
看起来包含上载类的项目引用的System.Web.Http版本与Web应用程序不同。检查引用以确保它们引用的程序集相同。看起来包含上载类的项目引用的System.Web.Http版本与Web应用程序不同。检查引用以确保它们引用的程序集相同。看起来包含上载类的项目引用的System.Web.Http版本与Web应用程序不同。检查引用以确保它们引用的程序集相同。看起来包含上载类的项目引用的System.Web.Http版本与Web应用程序不同。检查您的引用,确保它们引用的是相同的程序集。您是正确的。“属性”选项卡显示运行时版本似乎相同,但“属性”选项卡底部的版本号不同。最后,我不得不将WebAPI2.2Nuget包导入到单独的项目中,以获得匹配的版本号。您是对的。“属性”选项卡显示运行时版本似乎相同,但“属性”选项卡底部的版本号不同。最后,我不得不将WebAPI2.2Nuget包导入到单独的项目中,以获得匹配的版本号。您是对的。“属性”选项卡显示运行时版本似乎相同,但“属性”选项卡底部的版本号不同。最后,我不得不将WebAPI2.2Nuget包导入到单独的项目中,以获得匹配的版本号。您是对的。“属性”选项卡显示运行时版本似乎相同,但“属性”选项卡底部的版本号不同。最后,我不得不将WebAPI2.2Nuget包导入到单独的项目中,以获得匹配的版本号。