将parameter passing给Nancy Route

我有一个Web服务,有一个方法如下:

public class DxDService : System.Web.Services.WebService { [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)] public string GetSData(string strFirstName, string strLastName, string strDOB, string strSource, SortDetails sortDetails, string ID) { //manipulate the params and used to return data } } 

我用下面的一段代码在我的NodeJS应用程序中使用了这个Webservice

 var soap=require('soap') var url = 'http://serverName/DxDService.asmx?wsdl'; var args={'strFirstName':req.actions.firstName,'strLastName':req.actions.lastName, 'strDOB':req.actions.dob, 'strSource':'PtSearch','sortDetails':sort,'ID':''}; soap.createClient(url, function(err, client) { client.GetSData(args,function(err, result) { req.res = result; next(); }); }); 

但是,作为升级的一部分,我们正在从Web服务转移到Windows服务,该服务在启动时在本地系统中创build主机,并且该主机将具有该webservicefunction。 我在这里用Nancy来启动host 。 但是,我很困惑的一部分,就是如何在Web服务中接收南希路由中的参数。 以下是我现在在Windows Service所拥有的。

Service1.cs

 private NancyHost host; protected override void OnStart(string[] args) { var url = "http://127.0.0.1:port"; this.host = new NancyHost(new Uri(url)); this.host.Start(); } 

实现NancyModules的RootRoutes.cs

 public class RootRoutes : NancyModule { public RootRoutes() { //This should be same as GetSData method in webservice but this acts as Route Get["/GetSData"] = parameters => { //How can I access params here as I did in webservice method? //below is just a sample piece of code showing what returns on browsing http://127.0.0.1:port/GetSData var test = new { Name = "Guruprasad Rao", Twitter="@kshkrao3", Occupation="Software Developer" }; return Response.AsJson(test); }; } } 

怎么能做到这一点? 任何想法/帮助表示赞赏。

使用stringsearchTerm = this.Request.Query["term"]来获取所有的Get方法请求参数