MVC 3: CustomResult () не находит подходящий метод для переопределения - PullRequest
1 голос
/ 03 января 2012

Я создаю imageresult ... но "public override void ExecuteResult (Контекст ControllerContext)" говорит: не найден подходящий метод для overide.

мой класс выглядит так ...

    public override void ExecuteResult(ControllerContext Context)
    {
        byte[] bytes;
        string contentType = GetContentTypeFromFile();

        //if there's no context, stop the processing
        if (Context == null)
        {
            throw new ArgumentNullException("context");
        }

        //check for file
        if(File.Exists(_path)){
            bytes = File.ReadAllBytes(_path);
        }
        else{
            throw new FileNotFoundException(_path);
        }


        //
        HttpResponseBase response = Context.HttpContext.Response;
        response.ContentType = contentType;

        MemoryStream imageStream = new MemoryStream(bytes);

        byte[] buffer = new byte[4096];

        while (true)
        {
            int read = imageStream.Read(buffer, 0, buffer.Length);

            if (read == 0)
                break;

            response.OutputStream.Write(buffer, 0, read);
        }

        response.End();

    }

1 Ответ

0 голосов
/ 03 января 2012

Ваш класс подкласс ActionResult?Попробуйте следующее:

using System.Web.Mvc;

public class ImageResult : ActionResult 
{
  public override void ExecuteResult(ControllerContext Context)
  {
    ...
  }
}
...