Почему мои посты в Nancyfx 2.0 передают пустые словари?

#c# #nancy

#c# #Нэнси

Вопрос:

У меня есть довольно простой проект, который я начал с Nancyfx. Я знаю, что он больше не поддерживается, но, похоже, он должен удовлетворять мои минимальные потребности в его нынешнем виде.

Я раньше не пробовал использовать Нэнси, и я признаю, что существует довольно много рамок, которые кажутся мне вудуистскими, так что я, возможно, упускаю что-то довольно простое.

Одним из первых препятствий, с которыми я столкнулся, является извлечение данных формы из сообщения. Я могу предоставить html-код для формы, но когда форма отправлена, я помещаю точку останова в свою функцию ответа, и параметр, переданный в функцию, является просто пустым словарем. Вот соответствующая часть моего класса модуля:

 public class MainModule : NancyModule {  public MainModule()  {  Get("/", _ =gt; { return View["views/Configuration.html"]; });  Post("/saveChanges", args =gt; SaveChanges(args));  }   private object SaveChanges(dynamic args)  {  ConfigurationData receivedData = args.Bindlt;ConfigurationDatagt;();  return "Data received";  } }  

И класс, к которому я пытаюсь привязаться:

 internal class ConfigurationData {  public string SAPServer { get; set; }  public bool SAPUseIntegratedSecurity { get; set; }  public string SAPuser { get; set; }  public string SAPpwd { get; set; } }  

А вот связанная форма из html:

 lt;form action="/saveChanges" method="post"gt;  lt;!-- Tab links --gt;  lt;div class="tab"gt;  lt;button class="tablinks" onclick="tabSelect(event, 'Databases')"gt;Databaseslt;/buttongt;  lt;button class="tablinks" onclick="tabSelect(event, 'Defaults')"gt;Defaultslt;/buttongt;  lt;/divgt;   lt;!-- Tab content --gt;  lt;div id="Databases" class="tabcontent"gt;  lt;div class="row"gt;  lt;div class="column"gt;  lt;fieldsetgt;  lt;legendgt;SAP Interfacelt;/legendgt;  lt;label for="SAPserver"gt;Server:lt;/labelgt;  lt;input type="text" id="SAPServer" name="SAPServer"gt;lt;brgt;lt;brgt;  lt;label for="SAPUseIntegratedSecurity"gt;Use Integrated Security:lt;/labelgt;  lt;input type="checkbox" checked="checked" id="SAPUseIntegratedSecurity" name="SAPUseIntegratedSecurity" value="true"gt;lt;brgt;lt;brgt;  lt;label for="SAPuser"gt;Username:lt;/labelgt;  lt;input type="text" id="SAPuser" name="SAPuser"gt;lt;brgt;lt;brgt;  lt;label for="SAPpwd"gt;Password:lt;/labelgt;  lt;input type="password" id="SAPpwd" name="SAPpwd"gt;lt;brgt;lt;brgt;  lt;/fieldsetgt;  lt;/divgt;  lt;/divgt;  lt;/divgt;   lt;input type="submit" value="Save Changes" /gt; lt;/formgt;  

Я устанавливаю точку останова в функции SaveChanges. Он вызывается, но параметр args не содержит kvps.

Что я здесь делаю не так?