2016-02-24 4 views
2

я имел Web Service ранее имевшая метод, как показано ниже:параметры Пасс к Нэнси Рут

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 
    } 
} 

Я потребляемую это Webservice в моем NodeJS применении с ниже фрагмент кода.

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(); 
     }); 
}); 

Но как часть обновления мы переходим к службе Windows из веба-службы, которая создает хост в локальной системе на старт и что хост будет иметь функциональные возможности этого webservice. Я использую Nancy здесь, чтобы начать host. Но я смущен с точки зрения того, как я могу получить параметры в маршрутах Нэнси, как я получил в веб-службе. Ниже приведено то, что у меня есть в 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); 
     }; 
    } 
} 

Как добиться этого? Любая идея/помощь приветствуются.

ответ

2

использовать строку searchTerm = this.Request.Query["term"], чтобы получить все параметры запроса метода Get

 Смежные вопросы

  • Нет связанных вопросов^_^