System.Collections.Generic.KeyNotFoundException med Microsoft Bot Work

stemmer
0

Jeg bruker Microsoft Bot Framework for å lage en veldig enkel bot ved hjelp av en LuisDialog. Men jeg får stadig en System.Collections.Generic.KeyNotFoundException.

Her er min controller:

public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
    if (activity.Type == ActivityTypes.Message)
    {
        await Conversation.SendAsync(activity, () => new QuotesDialog());
    }
    else
    {
        HandleSystemMessage(activity);
    }
    var response = Request.CreateResponse(HttpStatusCode.OK);
    return response;
}

Her er dialog min:

[Serializable]
[LuisModel(MyModelIdGoesHere, MySubscriptionKeyGoesHere)]
public class QuotesDialog : LuisDialog<object>
{
    [LuisIntent(CheckQuote)]
    public async Task CheckQuote(IDialogContext context, LuisResult result)
    {
        await context.PostAsync(Hello you!);
        context.Wait(MessageReceived);
    }

    [LuisIntent(None)]
    public async Task None(IDialogContext context, LuisResult result)
    {
        await context.PostAsync(I'm sorry. I didn't get that.);
        context.Wait(MessageReceived);
    }
}

Hvis jeg bruker en eldre versjon av Bot Framework, som 3.0.0, får jeg følgende feilmelding: 500 InternalServerError { message: Det har oppstått en feil. }

Men hvis jeg oppdatere til den siste stabile versjonen (3.2.1) så får jeg følgende feilmelding av typen System.Collections.Generic.KeyNotFoundException:

Unntak: System.Collections.Generic.KeyNotFoundException: Den angitte nøkkelen var ikke til stede i ordlisten på System.Collections.Generic.Dictionary2.get_Item (TKey tasten) på Microsoft.Bot.Builder.Dialogs.LuisDialog.

Full stack trace er her:

http://pastebin.com/uLJF5fcV

Jeg prøvde å opprette et nytt prosjekt på en annen løsning, men jeg får den samme feilen. Jeg prøvde å installere forskjellige versjoner av Bot Work via nuget men som jeg sa tidligere, en eller annen jeg fortsatt får en feilmelding måte. Jeg har veldig liten erfaring med Bot Work så langt, så jeg vet egentlig ikke hva annet å prøve.

Publisert på 18/10/2016 klokken 13:57
kilden bruker
På andre språk...                            


1 svar

stemmer
2

Kan du prøve igjen å legge til følgende på toppen av Ingen metode?

[LuisIntent("")]

Feilen som du ser er vanligvis skjer når LuisDialog ikke kan løse metode (hensikt) for å utføre basert på mottatt melding.

Jeg mistenker at problemet blir hevet her , når LuisDialog ser for tomt hensikt.

handler = this.handlerByIntent[string.Empty];
Svarte 18/10/2016 kl. 15:21
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more