从我的网站查询第三方网站的数据库

时间:2012-06-28 14:30:59

标签: javascript asp.net ajaxcontroltoolkit

目标:

根据用户在ASP.NET网站上的查询检索来自第三方数据库的信息

详情:

我需要能够在第三方网站上搜索有关药品的信息。基本上,这就是我的任务:用户开始输入他们在实验中使用的药物名称,当他们输入第三方网站时(例如here或{{3查询,并根据他们输入的内容提出建议。一旦他们做出选择,从第三方数据库中检索某些属性(分子量,化学结构等)并存储在我们的数据库中。 PharmaGKB.org的搜索栏几乎是我需要实现的,但我需要访问第三方数据库。我正在处理的网站是ASP.NET / C#。

问题:

我真的不知道从哪里开始。在页面底部here有一个可下载的Perl示例,但它并没有真正帮助我。我不知道如何实现这一点,甚至找不到如何实现它的信息。建议使用AJAX工具包,但我不确定这是否能解决问题。 JavaScript也在考虑之中,但同样,我也不确定这是否足够。

Perl示例连接

如上所述,以下是Pharmgkb.org网站上给出的Perl示例的摘录:

my $call = SOAP::Lite
-> readable (1)
-> uri('SearchService')
-> proxy('http://www.pharmgkb.org/services/SearchService')
-> search ($ARGV[0]);

但是,我不确定如何实现这个是C#/ ASP.NET / JavaScript。关于在C#中嵌入Perl的Stack Overflow有一个问题,但它也需要一个C包装器,我不认为解决这个问题需要三种语言。

1 个答案:

答案 0 :(得分:3)

继续发表评论到你的帖子,我认为你可以做到这一点:

  1. 向Web项目添加服务引用。在地址中,使用:http://www.pharmgkb.org/services/SearchService?wsdl
  2. 点击Go。该向导将该服务识别为SearchServiceService。在下面的命名空间文本框中,输入名称“SearchServiceReference”。
  3. 将创建您的服务方法和数据对象(以及运行服务的所有其他必要位)。
  4. 然后,您可以使用服务参考,如:

      

    public static object [] Search(string searchString)   {

            using (var searchSeviceClient = new SearchServiceReference.SearchServiceClient())
            {
                return searchSeviceClient.search(searchString);
            }
        }
    
  5. 另外,考虑到你的问题的整个场景,你会希望这个服务在javascript / jQuery的文本更改事件上运行。您可以在本文中学习如何使用ajax从jQuery调用代码隐藏方法:jquery ajax calling Wcf service or some method in Code behind from Client Side