繁体   English   中英

autofac在Azure网站上不适用于WebAPI 2

[英]autofac not working for WebAPI 2 on azure website

我正在尝试在azure上设置我的Web api,一切都在本地工作文件,但是当我部署到azure时,出现以下错误消息:

尝试创建“ DestinationController”类型的控制器时发生错误。 确保控制器具有无参数的公共构造函数。

该网站是正常的天蓝色网站,不是工作人员规则。

这是我的Autofac引导程序类:

var builder = new ContainerBuilder();
        builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
        builder.RegisterType<UnitOfWork>().As<IUnitOfWork>().InstancePerRequest();
        builder.RegisterType<DatabaseFactory>().As<IDatabaseFactory>().InstancePerRequest();
        builder.RegisterAssemblyTypes(typeof(DestinationRepository).Assembly).Where(t => t.Name.EndsWith("Repository")).AsImplementedInterfaces().InstancePerRequest();
        builder.RegisterAssemblyTypes(typeof(DestinationService).Assembly).Where(t => t.Name.EndsWith("Service")).AsImplementedInterfaces().InstancePerRequest();

        builder.RegisterWebApiFilterProvider(GlobalConfiguration.Configuration);
        IContainer container = builder.Build();

        // Create the depenedency resolver.
        var resolver = new AutofacWebApiDependencyResolver(container);

        // Configure Web API with the dependency resolver.
        GlobalConfiguration.Configuration.DependencyResolver = resolver;

而我的控制器:

public class DestinationController : ApiController
{
    private readonly IDestinationService _destinationService;

    public DestinationController(IDestinationService destinationService)
    {
        this._destinationService = destinationService;
    }}

谢谢你的帮助。

打开自定义错误消息后,我发现如果注入的依赖项之一引发异常,您将在上面得到错误消息。 但是原始错误消息将位于inner-exception中,您可以通过从web.config关闭自定义错误来查看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM