2016-08-08 51 views
1

Wie verbinden. NET-Anwendung BotFramework mit der Datenbank und speichern Daten in MS SQL azure?Wie ms-botframework mit Azure-Datenbank zu verbinden

Ich möchte gespeicherte Prozedur in db verwenden und gesendete und empfangene Nachrichten speichern.

Codebeispiel Dieser Code ist Arbeit, wenn ich Verbindungszeichenfolge verwendet, um LocalDB oder lokalen Server

Webconfig

<connectionStrings> 
    <add name="[ConnStr]" connectionString="Data Source=[SiteURL].database.windows.net;Initial Catalog=[Name];Persist Security Info=True;User ID=[User];Password=[Password]" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

... MessagesController.cs

[BotAuthentication] 
    public class MessagesController : ApiController 
    { 
     /// <summary> 
     /// POST: api/Messages 
     /// Receive a message from a user and reply to it 
     /// </summary> 
     public async Task<HttpResponseMessage> Post([FromBody]Activity activity) 
     { 
      if (activity.Type == ActivityTypes.Message) 
      { 
       ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)); 
       // calculate something for us to return 
       int length = (activity.Text ?? string.Empty).Length; 

       // return our reply to the user 
       Activity reply = activity.CreateReply($"You sent {activity.Text} which was {length} characters"); 
       LogMessage(); 
       await connector.Conversations.ReplyToActivityAsync(reply); 
      } 
      else 
      { 
       HandleSystemMessage(activity); 
      } 
      var response = Request.CreateResponse(HttpStatusCode.OK); 
      return response; 
     } 

...

private void LogMessage() 
{ 
    var context = new DataClasses1DataContext(ConfigurationManager.ConnectionStrings["[ConnStr]"].ConnectionString); 


    var newMessage = new Table1 
    { 
     Table101 = newID() 
     , 
     Table102 = DateTime.Now 
     , 
     Table103 = 0 
     , 
     Table104 = "Test" 
     , 
     Table105 = "Test2" 
     , 
     Table106 = "Test3" 
     , 
     Table107 = 0 
     , 
     Table108 = "Test4" 
     , 
     Table109 = 0 
    }; 

    context.Table1.InsertOnSubmit(newMessage); 
    context.Table1.Context.SubmitChanges(); 
} 
+0

dicht sein muß, können Sie uns zeigen, was Sie bisher versucht haben? –

+0

Danke für Ihre Antwort. Ich füge ein Codebeispiel hinzu – Dmitry

+0

erhalten Sie einen Fehler beim Herstellen einer Verbindung zur Azure SQL-Datenbank? – Prawin

Antwort

0

Vielen Dank, ich finde keine Lösung für mein Problem und erstellen Sie alle Beispielprojekt und es ist Arbeit.

Beispielcode in dieser Frage ist es funktioniert

denke ich this topic

+0

Also markiere als beantwortet oder lösche die frage? –