2017-01-19 56 views

回答

4

如果您想在BotFramework中擁有全局命令,那麼實施IScorable.cs是對的。

具有IScorable它基本上是一個兩步過程:

  1. 撰寫您IScorable
  2. 註冊您IScorable在BotFramework的Autofac容器

BotFramework將通過所有的IScorables第一次看到如果他們中的任何一個「獲勝」(又名他們是否會做某事),如果沒有人處理該消息;那麼它會繼續將消息分配給對話框。

關於如何編寫IScorable,最好的辦法就是尋找到一些例子:

關於如何註冊IScorable,我會建議你做一些像在Global.asax.csApplication_Start方法如下:

var builder = new ContainerBuilder(); 

builder.RegisterType<SettingsScorable>() 
    .As<IScorable<IActivity, double>>() 
    .InstancePerLifetimeScope(); 

builder.Update(Conversation.Container); 

,顯示ContosoFlowers的SettingsScorable如何被註冊在Autofac容器。

+0

如果我不使用Autofac容器或根本不使用IoC會怎麼樣?在Node.js中有一個更簡單的方法來實現這一點,但不是在C#SDK中。 – Mayank

+1

如果您使用的是C#BotBuilder NuGet包,則始終使用Autofac :),因爲BotFramework在幕後使用它。您需要做的註冊是在BotFramework的Autofac容器上;你不需要使用它來解決你的組件,但是可信需要在那裏註冊 –

+0

如果這是有用的,請將其標記爲答案 –

相關問題