i am working on a project which work on mobile as well as web platform . i am using autofac for dependency resolver which is working fine for web but constructor parameter in webapi controller not initilize
i tried
http://docs.autofac.org/en/latest/register/parameters.html plz help
public class DocumentDownloadResult : IHttpActionResult
{
readonly MemoryStream bookStuff;
readonly string PdfFileName;
HttpRequestMessage httpRequestMessage;
HttpResponseMessage httpResponseMessage;
public DocumentDownloadResult(MemoryStream data, HttpRequestMessage request, string filename)
{
bookStuff = data;
httpRequestMessage = request;
PdfFileName = filename;
}
public System.Threading.Tasks.Task<HttpResponseMessage> ExecuteAsync(System.Threading.CancellationToken cancellationToken)
{
httpResponseMessage = httpRequestMessage.CreateResponse(HttpStatusCode.OK);
httpResponseMessage.Content = new StreamContent(bookStuff);
//httpResponseMessage.Content = new ByteArrayContent(bookStuff.ToArray());
httpResponseMessage.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
httpResponseMessage.Content.Headers.ContentDisposition.FileName = PdfFileName;
httpResponseMessage.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream");
return System.Threading.Tasks.Task.FromResult(httpResponseMessage);
}
}
public class DocumentPrintResult : IHttpActionResult
{
MemoryStream bookStuff;
readonly string PdfFileName;
HttpRequestMessage httpRequestMessage;
HttpResponseMessage httpResponseMessage;
public DocumentPrintResult(MemoryStream data, HttpRequestMessage request, string filename)
{
bookStuff = data;
httpRequestMessage = request;
PdfFileName = filename;
}
public System.Threading.Tasks.Task<HttpResponseMessage> ExecuteAsync(System.Threading.CancellationToken cancellationToken)
{
httpResponseMessage = httpRequestMessage.CreateResponse(HttpStatusCode.OK);
httpResponseMessage.Content = new StreamContent(bookStuff);
httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
httpResponseMessage.Content.Headers.ContentLength = bookStuff.Length;
ContentDispositionHeaderValue contentDisposition = null;
if (ContentDispositionHeaderValue.TryParse("inline; filename=" + PdfFileName, out contentDisposition))
{
httpResponseMessage.Content.Headers.ContentDisposition = contentDisposition;
}
return System.Threading.Tasks.Task.FromResult(httpResponseMessage);
}
}
#endregion
Plz Try This...
var builder = new ContainerBuilder();
builder.Update(container);
var webApiResolver = new Autofac.Integration.WebApi.AutofacWebApiDependencyResolver(container);
System.Web.Http.GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;