Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 开始时,有什么建议吗?_Vbscript - Fatal编程技术网

Vbscript 开始时,有什么建议吗?

Vbscript 开始时,有什么建议吗?,vbscript,Vbscript,我已经开始在C#工作了近几个月,我正在寻找更具挑战性和有趣的工作。我使用了一个名为media monkey的媒体播放器,它支持自定义vb脚本,我制作了一个,它将文件写入当前播放歌曲的目录,并在每次播放新歌时通过重写之前的内容进行更新 现在,我想将这些信息添加到数据库中,并保留记录,可能还会将这些信息添加到我的主页上。我知道我可以找到一种方法让它工作,但我想知道什么是“专业的方式”做事 我想到了以下几点,结果被卡住了。我需要一个ODBC驱动程序来连接一个看起来很混乱的数据库,web服务可以工作吗?

我已经开始在C#工作了近几个月,我正在寻找更具挑战性和有趣的工作。我使用了一个名为media monkey的媒体播放器,它支持自定义vb脚本,我制作了一个,它将文件写入当前播放歌曲的目录,并在每次播放新歌时通过重写之前的内容进行更新

现在,我想将这些信息添加到数据库中,并保留记录,可能还会将这些信息添加到我的主页上。我知道我可以找到一种方法让它工作,但我想知道什么是“专业的方式”做事

我想到了以下几点,结果被卡住了。我需要一个ODBC驱动程序来连接一个看起来很混乱的数据库,web服务可以工作吗?那怎么办?VbScript能否调用dll文件来调用web服务来修改单独服务器上的数据?这样做安全吗?

许多专业C#应用程序都是n层的。在您的情况下,您可能会将其分层如下:

在服务器上:
-数据库存储
-数据库访问/业务层(有时是两个不同的组件,具体取决于应用程序的复杂程度)
-网络服务

在客户端:
-Web服务客户端
-支持客户端功能的任何其他层

因此,数据库存储将类似于Oracle或Microsoft SQL Server中的某些表,并且将在您的服务器上

数据库访问/业务层是从数据库检索和存储数据的代码。它还可能包含业务对象,这些对象基本上是具有表示数据库中数据的属性的类。数据访问层的好处是,有时读取和写入数据库可能需要专门的代码,而您不希望这些代码散布在应用程序中。因此,您可以在数据访问层中调用函数,将所需数据加载到对象中,这样应用程序的其余部分就可以与常规的.NET对象/类进行交互。这些被称为POCOs,它代表类似于Plan Old CLR对象的东西。当然,这方面有很多变化,因为人们对数据库访问问题采取了不同的方法。此外,它还用于在数据库发生更改时最小化中断的更改。由于数据库访问逻辑不会遍布整个应用程序,因此,如果数据库发生更改(例如向表中添加新列或更改名称),则需要更新的位置会更少

有时,业务层将是它自己的层,并且将包含应用程序的大部分“逻辑”。它将位于数据访问层和web服务层之间。使用面向服务的体系结构(SOA)中的概念,您可能有一个身份验证服务和一个web请求处理服务。这些服务很像一个总是实例化的类,在那里等待处理请求。您的web请求处理服务将接受一个请求,并且可能在接受请求之前首先调用身份验证服务来验证凭据。SOA是我认为只有在适当的时候才应该使用的东西之一。在某些情况下,仅仅使用面向对象技术也会给您带来同样的好处。但并不总是这样。如果做得好,SOA更具可伸缩性,因此它实际上取决于SOA是否为您提供所需的其他好处

Webservice将负责接收来自web的请求,解析/解释它们,并通过调用您的业务层来更新或检索数据来处理这些请求

因此,这里的概念是,您的服务可以有许多用户通过您的服务发布他们的歌曲更新

您的客户机将有一个“web服务客户机”层,负责将请求格式化为消息,将它们发送到web服务,并从web服务检索消息。您将在web服务层中放置很少的应用程序“逻辑”

现在,这一切对于你想要做的事情来说可能是过度的和低效的,因为你只是想为自己做点什么,但这是许多Web服务应用程序的基本剖析,是一个很好的学习练习。层的全部目的是解耦和简单。虽然更多的层/组件使应用程序总体上更复杂,但这意味着每个组件都更简单。这意味着,当您只处理一个只与几个其他组件(soutrounding层)交互的组件时,您可以更轻松地解决问题。因此,在少部分和多部分之间有一个谨慎的平衡。数量太少,它们变得单一且难以管理。太多了,它们以复杂的方式交织在一起。我听过它这样说:“如果一个类变得太大太复杂,那么就把它分成几个类。”。本质上,不要因为听起来是正确的事情就开始细分东西。在决定是否拆分组件之前,先评估组件的复杂程度。有时,对于简单的情况,为了更快地完成工作并使总体设计更简单,您有一个服务于多个目的的层。关键是,在适当的地方应用这些概念。你将从经验中学到什么是合适的,你显然明白,通过“做”你可以学到最多

“vbscript可以调用COM组件吗?”您可以使用COM支持编译.NET DLL。许多旧的东西可以称为COM DLL

我在谷歌上搜索到:vbscript dll 得到这个:

“这样做安全吗?”您的Web服务将是您最关心安全的地方。它是安全的,只有当你的设计考虑到安全性,不要搞砸了。不过,我们有时都会搞砸,这意味着无法保证它绝对安全