如何构建一个在数据库中执行存储过程的Web服务(主机)?

时间:2015-12-04 00:31:18

标签: c# web-services stored-procedures asp.net-web-api2 owin

在我们的软件中,客户端可以创建多个(Sybase SQL Anywhere)数据库(管理)。它们都共享完全相同的模式,并具有所有相同的数据库对象,例如存储过程。

我们的许多客户都要求直接写入这些数据库(编写自己的自定义软件),但我们有一个封闭的数据库(因此用户没有直接数据访问)策略,以防止数据输入损坏。

作为一种解决方法,我考虑过编写一个Web服务主机。通过这个主机,我想执行存储过程。 我正在考虑使用WCF服务,因为这给了我一个很好的WSDL定义,但是我的公司看到我使用与我们公司中的其他项目相同的概念(由于标准化),所以它应该使用WebAPI和/或Owin。 / p>

要解释我想去的地方,这里有一些信息: 我有两个相同的数据库,CorpDb和SchoolDb。两者都有相同(简化)的过程CreateCustomer,它接受参数CustId,CustName和CustAddress。

通过此服务主机,我希望能够接受指定以下参数的请求:数据库文件名,要执行的存储过程以及过程的参数。我不知道如何发送这些参数,但它们可能是:

  • database = corpdb
  • PROC = createcustomer
  • params =(CustId = DummyCorp,CustName = Dummy Corp 国际,CustAddress = Cloud 9)


让我忙碌的问题: 这是一个好主意还是坏主意,如果它是一个好主意,我该如何设置它?

如何处理传入的请求?我应该使用哪种格式请求,并且有一些与WCF的SOAP消息类似的东西,以帮助我为想要使用我们的Web服务构建自己的自定义软件的客户创建代理类。他们将如何在他们的软件中连接到这台主机?我可以直接在主机内调用存储过程吗?

我很抱歉,如果(太)模糊,但我在构建网络服务器或网络服务方面不是很有经验。如果需要,我会澄清一些事情。谢谢你的阅读。

问候,特德

0 个答案:

没有答案