目标:
根据用户在我的 ASP.NET 网站上的查询从第三方数据库检索信息
详细信息:
我需要能够搜索第三方网站以获取与药品相关的信息。基本上,这就是我的任务:用户开始输入他们在实验中使用的药物名称,当他们输入第三方网站(例如 here 或 here )时询问并根据他们输入的内容提出建议。一旦他们做出选择,某些属性(分子量、化学结构等)将从第三方数据库中检索并存储在我们的数据库中。 PharmaGKB.org
的搜索栏几乎是我需要实现的,但我需要访问第三方数据库。我正在开发的网站是 ASP.NET/C#。
问题:
我真的不知道从哪里开始。页面底部有一个可下载的 Perl 示例 here ,但它并没有真正帮助我那么多。我不知道如何实现这一点,甚至找不到有关如何执行此操作的信息。有人建议使用 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 中实现这一点。 Stack Overflow 上有一个关于在 C# 中嵌入 Perl 的问题,但它也需要一个 C 包装器,而且我认为解决这个问题没有必要或明智地使用三种语言。
最佳答案
从对您帖子的评论继续,我认为您可以执行以下操作:
- 向您的 Web 项目添加服务引用。在地址中,使用:http://www.pharmgkb.org/services/SearchService?wsdl .
- 单击“开始”。该向导将将该服务识别为 SearchServiceService。在下面的命名空间文本框中,输入名称“SearchServiceReference”。
- 系统将创建您的服务方法和数据对象(以及运行服务所需的所有其他必要部分)。
然后,您可以使用服务引用,例如:
public static object[] Search(string searchString) {
using (var searchSeviceClient = new SearchServiceReference.SearchServiceClient()) { return searchSeviceClient.search(searchString); } }
此外,考虑到您的问题的整个场景,您可能希望此服务在 javascript/jQuery 的文本更改事件上运行。您可以在本文中了解如何使用 ajax 从 jQuery 调用代码隐藏方法:jquery ajax calling Wcf service or some method in Code behind from Client Side
关于javascript - 从我的网站查询第三方网站的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246917/