创建Web服务以从C#ASP.NET Web窗体应用程序访问类对象公共方法

6za6bjd0  于 2023-01-10  发布在  .NET
关注(0)|答案(1)|浏览(150)

在我的C# ASP.NET webforms应用程序中,有一些数据访问类拥有插入/删除数据库记录的公共方法。这些方法是在浏览器会话期间由特定的用户活动触发的。
为了避免重复劳动和重复代码,我希望示例化这些类对象并从应用程序外部调用这些方法,可能使用从SQL Server存储过程调用的Web服务,使用SQL Server代理作业按月进行。
Web服务是否有可能以这种方式使用这些数据访问公共方法?

rfbsl7qr

rfbsl7qr1#

当然,你可以在webform中采用一些web API和web方法。
然后,100美元的问题变成了你打算从另一个站点还是同一个站点调用这些Web服务?
我的意思是,在“大多数”情况下,如果这是同一个网站,那么没有理由去通过所有的歌曲和舞蹈,因为代码背后可以直接使用该类无论如何,没有消息的Web方法或客户端JavaScript是必需的。
当然,如果一个人希望“美化”一个给定的网页,减少回发的数量?当然,你可以通过各种方式采用 AJAX 调用这些web方法。
您可以使用Web服务创建一个单独的页面(URL),或者您可以简单地向现有的Web页面添加一些Web方法。
我经常这样做(把web方法放在say网页中),因为在同一个网页中有这样的代码是有意义的,你将使用/想要调用这样的web方法。
而且您有相当多的方法来调用/使用这样的Web方法。
内置的,它们支持SOAP调用(XML,现在不太使用),或者jQuery. AJAX ,并且它们支持XML和JSON,而且不需要您进行任何额外的编码。
你甚至可以使用一个带有查询参数的URL(所以,这将是一个REST调用,同样,所有这3个选项都有效,而且不需要更改Web方法)。
从SQL Server存储过程调用
哎哟!!!-我们一直都做得很好!!!
我不知道SQL Server有任何调用Web服务和Web方法的规定。那么,一个网站有一些代码,甚至代码消耗一些SQL Server数据?当然,没什么大不了的,但这个介绍让SQL Server调用一些Web服务?天啊,不,这是不常见的,甚至也不支持据我所知。
当然,您可以采用一些.net代码,并创建用.net代码编写的SQL Server存储过程(这将让您使用来自SQL Server的Web服务调用)。换句话说,您将不得不更改一些SQL Server权限(以允许T-SQL调用/使用.NET代码。这当然是一个很好的选择,并且是用c#(或www.example.com)编写SQL Server存储过程代码的一种方法vb.net。
因此,在大多数情况下,SQL Server及其代码语言(T-SQL)肯定不允许也没有任何方法从网站调用/使用/使用Web方法。
然而,如果你引入CLR代码到SQL服务器(并假设它支持该选项(一些托管网站不允许CLR代码与SQL服务器。SQL Azure没有很长一段时间,但我相信最近,他们现在允许这一点,但它的安全风险)。
Web服务是否有可能以这种方式使用这些数据访问公共方法?
如果你创建并公开了一些web方法?那当然,但那是一个与SQL server使用这样的web方法截然不同的问题。
但是,是的,你可以添加/拥有/创建/使用/享受你创建和添加到webforms站点的web方法吗?是的,创建这样的web方法的选项和大多数web系统一样。你当然必须创建+编写+设置这样的web方法,但是答案是肯定的,你当然可以。
如前所述,您可以通过JavaScript、jQuery(我使用最多的)调用/使用/消费这样的Web方法,或者如果客户端代码在当前Web页面中?
那么除了JS和JQuery之外,你还可以使用所谓的“页面方法”。这只是一种“干净得多”的调用/使用那些Web方法的方式,但是所有3种选择(JS、JQuery、JS和Web方法)都是可用的。
我现在要去喝杯咖啡休息一下,但是我会回来发布一个最简单的例子,说明如何为webform创建web方法--它与其他后来的ASP.NET版本没有太大的不同。

相关问题