컨트롤러 클래스에서 System.Web.Http 라이브러리를 참조 할 수 있지만 다른 클래스에서는 참조 할 수없는 C# 프로젝트가 있습니다. 참조가 전체 프로젝트에 추가되었으며 두 클래스 모두 필요한 사용 지시문을 모두 갖습니다.System.Web.Http 어셈블리가 항상 동일한 C# 프로젝트에 표시되지 않습니다.
일부 인스턴스에서는 System.Web.Http의 Request 메서드를 확인할 수 없습니까? 여기
는 두 클래스의 코드 조각입니다 :컨트롤러/FormsController.cs
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using System.Web.Http.Description;
using FormsImport.Models;
namespace FormsImport.Controllers
{
public class TCSTasksController : ApiController
{
[Route("api/TCSUploadFile")]
[AllowAnonymous]
public async Task<HttpResponseMessage> UploadCSVFile()
{
try
{
var httpRequest = HttpContext.Current.Request;
foreach (string file in httpRequest.Files)
{
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created); // <-- the name Request does exists
.
.
.
}
CSVmanager.cs
난 당신이 (컴파일러/IDE에 동의해야한다고 생각using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http; //<-- Compiler claims this directive is unneccesary
using System.Web.Http.Description;
using FormsImport.Models;
namespace FormsImport
{
public class CSVmgr
{
public async Task<HttpResponseMessage> UploadCSVFile()
{
try
{
var httpRequest = HttpContext.Current.Request;
foreach (string file in httpRequest.Files)
{
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created); // <-- the name Request Does not exist in the current context
.
.
.
}
'Request'는 ApiController''의 속성입니다. 'CSVmgr'에서 어디서 얻을 수있을 것으로 기대합니까? – yaakov
System.Web.Http가 필요 없으므로이 요청은 필요하지 않습니다. 해당 네임 스페이스의 유형을 사용하거나 상속하지 않습니다. –
왜 이것이 오류라고 생각합니까? 컴파일러 오류가 발생합니까 (불필요한'using' 지시문에 대한 경고 이외에)? – CoolBots