Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从外部代码获取当前web api请求_C#_Asp.net Mvc_Asp.net Web Api_Asp.net Web Api2 - Fatal编程技术网

C# 从外部代码获取当前web api请求

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

我正在尝试编写代码,从web api操作的当前请求中获取一个文件,然后将该文件保存到服务器。此代码位于它自己的项目中,与主WebAPI项目分离。当代码运行时,我得到以下错误:

无法加载文件或程序集'System.Web.Http,版本=4.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35'或其 依赖关系。定位程序集的清单定义不正确 匹配程序集引用。(来自HRESULT的异常:0x8013100)

这是它自己的项目中应该捕获请求的代码:

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包导入到单独的项目中,以获得匹配的版本号。