1
我试图建立在Azure上我的网络API,一切都在本地工作的文件,但是当我部署到Azure,我得到了以下错误消息:autofac不是的WebAPI 2个工作在Azure网站
错误尝试创建类型为“DestinationController”的控制器时发生。确保控制器有一个无参数的公共构造函数。
该网站是一个普通的天蓝色网站,而不是一个工人的规则。
这是我Autofac bootstraper类:
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;
}}
感谢您的帮助。