forked from MissionMarsFourthHorizon/operation-max
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGlobal.asax.cs
40 lines (36 loc) · 1.67 KB
/
Global.asax.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
namespace HelpDeskBot
{
using System.Web.Http;
using Autofac;
using Dialogs;
using HandOff;
using Microsoft.Bot.Builder.Dialogs.Internals;
using Microsoft.Bot.Builder.Scorables;
using Microsoft.Bot.Connector;
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
var builder = new ContainerBuilder();
// Hand Off Scorables, Provider and UserRoleResolver
builder.Register(c => new RouterScorable(c.Resolve<IBotData>(), c.Resolve<ConversationReference>(), c.Resolve<Provider>()))
.As<IScorable<IActivity, double>>().InstancePerLifetimeScope();
builder.Register(c => new CommandScorable(c.Resolve<IBotData>(), c.Resolve<ConversationReference>(), c.Resolve<Provider>()))
.As<IScorable<IActivity, double>>().InstancePerLifetimeScope();
builder.RegisterType<Provider>()
.SingleInstance();
// Bot Scorables
builder.Register(c => new AgentLoginScorable(c.Resolve<IBotData>(), c.Resolve<Provider>()))
.As<IScorable<IActivity, double>>()
.InstancePerLifetimeScope();
builder.RegisterType<SearchScorable>()
.As<IScorable<IActivity, double>>()
.InstancePerLifetimeScope();
builder.RegisterType<ShowArticleDetailsScorable>()
.As<IScorable<IActivity, double>>()
.InstancePerLifetimeScope();
builder.Update(Microsoft.Bot.Builder.Dialogs.Conversation.Container);
}
}
}