将参数传递给 Nancy Route
Pass parameters to 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 服务,该服务在启动时在本地系统中创建一个主机,该主机将具有此 webservice
的功能。我在这里使用 Nancy
来启动 host
。但是我对如何在网络服务中收到 Nancy Routes 中的参数感到困惑。以下是我目前在 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();
}
RootRoutes.cs 实现了 NancyModules
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);
};
}
}
如何实现?任何 idea/help 表示赞赏。
使用字符串searchTerm = this.Request.Query["term"]
获取所有Get方法请求参数
我之前有一个 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 服务,该服务在启动时在本地系统中创建一个主机,该主机将具有此 webservice
的功能。我在这里使用 Nancy
来启动 host
。但是我对如何在网络服务中收到 Nancy Routes 中的参数感到困惑。以下是我目前在 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();
}
RootRoutes.cs 实现了 NancyModules
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);
};
}
}
如何实现?任何 idea/help 表示赞赏。
使用字符串searchTerm = this.Request.Query["term"]
获取所有Get方法请求参数