首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从asmx Web Service管理多个ado.net数据库连接

从ASMX Web Service管理多个ADO.NET数据库连接,可以通过以下步骤实现:

  1. 创建数据库连接字符串:

在Web.config文件中,创建多个连接字符串,每个字符串对应一个数据库。例如:

代码语言:xml<connectionStrings>
复制
  <add name="Database1" connectionString="Data Source=server1;Initial Catalog=database1;User ID=username;Password=password" providerName="System.Data.SqlClient" />
  <add name="Database2" connectionString="Data Source=server2;Initial Catalog=database2;User ID=username;Password=password" providerName="System.Data.SqlClient" />
</connectionStrings>
  1. 创建数据访问层:

为每个数据库创建一个数据访问层,每个数据访问层包含与该数据库进行交互的方法。例如:

代码语言:csharp
复制
public class Database1DataAccess
{
    public List<Customer> GetCustomers()
    {
        string connectionString = ConfigurationManager.ConnectionStrings["Database1"].ConnectionString;

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();

            using (SqlCommand command = new SqlCommand("SELECT * FROM Customers", connection))
            {
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    List<Customer> customers = new List<Customer>();

                    while (reader.Read())
                    {
                        Customer customer = new Customer
                        {
                            ID = reader.GetInt32(0),
                            Name = reader.GetString(1)
                        };

                        customers.Add(customer);
                    }

                    return customers;
                }
            }
        }
    }
}

public class Database2DataAccess
{
    public List<Product> GetProducts()
    {
        string connectionString = ConfigurationManager.ConnectionStrings["Database2"].ConnectionString;

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();

            using (SqlCommand command = new SqlCommand("SELECT * FROM Products", connection))
            {
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    List<Product> products = new List<Product>();

                    while (reader.Read())
                    {
                        Product product = new Product
                        {
                            ID = reader.GetInt32(0),
                            Name = reader.GetString(1),
                            Price = reader.GetDecimal(2)
                        };

                        products.Add(product);
                    }

                    return products;
                }
            }
        }
    }
}
  1. 在Web服务中使用数据访问层:

在ASMX Web服务中,使用数据访问层获取数据并返回给客户端。例如:

代码语言:csharp
复制
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class MyWebService : System.Web.Services.WebService
{
    [WebMethod]
    public List<Customer> GetCustomers()
    {
        Database1DataAccess dataAccess = new Database1DataAccess();
        return dataAccess.GetCustomers();
    }

    [WebMethod]
    public List<Product> GetProducts()
    {
        Database2DataAccess dataAccess = new Database2DataAccess();
        return dataAccess.GetProducts();
    }
}

通过以上步骤,可以实现从ASMX Web Service管理多个ADO.NET数据库连接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#基础知识复习

ADO.NET中访问数据库的基本步骤是什么?  创建数据库连接对象。  打开连接。  创建命令对象,执行SQL语句。  关闭连接。...DataReader在从数据库中读取数据时是“面向连接的”,即DataReader在读取数据时是数据库中一行一行读取,每次只会数据库中读取一行数据(类似于数据库游标的行为),直到读完最后一行之后,才断开数据库连接...在整个读取的过程中,必须保持与数据库连接处于打开状态。 ADO.NET中常用对象有哪些?  SqlConnection:连接对象,用于执行与数据库连接。...Web Service有哪些优点?  Web Service是基于XML的,与具体的语言和平台无关,故可以实现跨平台、跨语言通信。... aspx:页面  ascx:用户控件  asmxWeb Service  ashx:一般处理程序  asax:Global.asax,全局应用程序配置 ASP.NET

6K10

谈谈分布式事务之一:SOA需要怎样的事务控制方式

在这样一个分布式系统中某个活动(Activity)的实现往往需要跨越单个服务的边界,如何协调多个服务之间的关系使之为活动功能的实现服务,涉及到SOA一个重要的课题:服务协作(Service Coordination...Web应用为例,Web服务器(承载Web应用)、应用服务器(承载各种服务)和数据库服务器均可以承载最终对逻辑的运算。...但是,可扩展性(或者可伸缩性)上考虑,将主要的计算放在前两者比放在数据库更具优势。...对于.NET开发人员,我们可以直接利用ADO.NET将基于单个数据库连接多个操作纳入同一个事务之中。...3、事务的显式控制限定于对单一资源的访问 通过在SQL中进行事务的控制,只能将基于某一段SQL语句的操作纳入到一个单一的事务中;如果采用基于ADO.NET的数据控制,被纳入到同一个事务的操作仅仅限于某个数据库连接

84080

使用suds-py3调用webservice WSDL接口

WSDL' client = Client(url) print(client) suds库的client模块中导入Client类,创建Client对象来连接webservice的url,只有连接通了...,在网站点击''WEB服务'',再点"显示全部Web Serbvces",复制WSDL后的url,即可找到该网站提供的所有Web Service服务url,上面的两个url即从这里获取到的. ?...注意:如果您调用的是自己的url,这里就是为您提供Web Service的网站,而不是http://WebXml.com.cn/ 2.重点webservice信息里面找到Methods,Methods...四、WSDL介绍 WSDL是网络服务描述语言 (Web Services Description Language),是使用XML写的用于描述Web Services,以及如何访问 Web Services...学了WSDL的知识,就可以看到上面WSDL的信息就是对Web Service的接口的描述.

2.2K30

IIS 5.x与ASP.NET

如果我们请求的是一个基于ASP.NET的资源类型,比如:.aspx Web Page、 .asmx Web Service或者.svc WCF Service等,Aspnet_isapi.dll会被加载...具体来说,通过上面的介绍,我们知道对于IIS 6.0来说,W3SVC主要承载着三大功能: HTTP请求接收:接收HTTP.SYS监听到的HTTP请求; 配置管理数据库(Metabase)中加载配置信息对相关组件进行配置...图3为上述的4个Windows Service在服务控制管理器(SCM)中的呈现。 ?...一个应用程序池可以承载一个或者多个Web应用,每个Web应用映射到一个IIS虚拟目录。与IIS 5.x一样,每一个Web应用运行在各自的应用程序域中。...对于不同资源类型的请求,ASP.NET会加载不同的Handler来处理,也就是说.aspx page与.asmx web service对应的Handler是不同的。

2.7K20

WCF,Net remoting,Web service

当您运行于沙箱(如下载的 Windows 窗体应用程序)中的客户端连接到系统时,ASP.NET Web 服务是较简单的选择,因为不需要更改安全性策略。...状态管理 默认情况下,ASP.NET Web 服务模型采用无状态的服务结构;它并不是本能地与来自同一个用户的多个调用相关。....NET Remoting 支持许多状态管理选项,并且可能与来自同一个用户的多个调用相关或不相关,这取决于您选择的对象生命周期架构。...ASP.NET Web Services。) 企业服务 ASP.NET Web 服务或通过 .NET Remoting 提供的对象可以使用本地事务根据单个数据库协调工作。...如果需要根据多个资源协调工作,可以使用 .NET 企业服务(又称 COM+)公布的事务(由 COM+ 管线管理的 DTC 分布式事务)。

1.4K50

Node.js查询PostgreSQL数据

Node.js查询PostgreSQL数据 API服务器公开允许连接数据的Web服务。使用CData API服务器的OData端点对Node.js中的PostgreSQL数据执行CRUD查询。...CData API服务器与PostgreSQL的ADO.NET Provider配对时,将PostgreSQL数据(或来自120多个其他ADO.NET提供程序中的任何一个的数据)公开为OData端点,可以使用简单的...本文介绍如何使用API Server在Node.js中请求JSON格式的PostgreSQL数据。...连接到PostgreSQL 部署API服务器和PostgreSQL的ADO.NET提供程序后,通过单击设置 - >连接并在API服务器管理控制台中添加新连接,提供连接到PostgreSQL所需的身份验证值和其他连接属性...要连接到PostgreSQL,请设置服务器,端口(默认端口为5432)和数据库连接属性,并设置要用于向服务器进行身份验证的用户和密码。

3.4K10

Enterprise Library 4 数据访问应用程序块

ADO.NET 2.0 提供了如 DbCommand 类和 DbConnection 这样的类,这些类有助于任何特定数据库实现中抽象出数据提供程序。...在要使用由 Enterprise Library 支持的保存在某个位置的配置信息时或者使用由 ADO.NET 管理连接字符串时使用工厂。...对于每个连接字符串仅有一个 “keep alive”连接,尽管对于同样的连接字符串可以有多个打开的连接。 因为 SQL Server CE 是一个进程内的数据库,对数据库多个调用将是快而有效的。...关于如何使用存储过程参数参数的更多信息,请参见处理参数。 管理连接 数据库连接是有限资源,它们的妥善管理对可扩展的应用程序来说是必不可少的。仅在需要时保持连接打开并尽快关闭是一个很好的实践。...根据设计,绝大多数的 Database 类方法在每次调用时打开和关闭到数据库连接。因为,应用程序代码不需要包含用于管理连接的代码。

1.7K60

重新审视SqlDataReader的使用

ADO.NET 1.x 利用SqlDataReader读取数据,针对每个结果集需要一个独立的连接。...当然,你还必须管理这些连接并且要付出相应的内存和潜在的应用程序中的高度拥挤的瓶颈代价-特别是在数据集中的Web应用程序中。      ...ADO.NET 2.的一个新特征多数据结果集(Multiple Active Result Sets,简称MARS)-它允许在单个连接上执行多重的数据库查询或存储过程。...这样的结果是,你能够在单个连接上得到和管理多个、仅向前引用的、只读的结果集。目前实现这个功能的数据库只有Sql Server 2005。...使用SqlServer 2005,可以在一个Command对象上同时打开多个DataReader,节约数据库联接所耗费的服务器资源,在实际开发中普遍存在的一种典型的数据库中读写数据的情形是,你可以使用多重连接而现在只用一个连接就足够了

70890

Navi.Soft31.WinCE框架.开发手册(含下载地址)

1.概述 1.1应用场景 随着物联网的普及,越来越多的制造商对货品原料配备,加工生产,销售出库等环节的要求和把控越来越高.在此情况之下,传统的ERP软件已经无法满足现有的操作流程....ADO.Net结构传输数据. 2.1.2源码结构 如图2-1所示 ?...文件.并不是微软提供的 n WinCEWebService1.asmx文件,用于实现WebService操作.方法包含如下: 方法名称 描述 TestConnectWebService 测试连接WebService...服务是否成功 TestConnectDataBase 测试连接WebService中数据库是否成功.注:数据库连接字符串在Web.Config文件中修改 GetDataTable 根据SQL语句,获取数据集...此文件为配置文件,用于配置数据库类型和连接字符串.配置如图2-2所示 ?

1.4K50

.NET开发工程师的常见面试题

用户控件基类:System.Web.UI.UserControl。 页面基类:System.Web.UI.Page。 Web Service有哪些优点?...Web Service是采用SOAP协议(简单对象访问协议)进行通信的,该协议基于HTTP协议,故可以实现跨防火墙通信。 Web Service可以很容易的实现分布式的应用程序。...aspx:页面 ascx:用户控件 asmxWeb Service ashx:一般处理程序 asax:Global.asax,全局应用程序配置 ASP.NET中的六大对象有哪些?...ADO.NET中访问数据库的基本步骤是什么? 创建数据库连接对象。 打开连接。 创建命令对象,执行SQL语句。 关闭连接ADO.NET中常用对象有哪些?...对于存储过程来说可以返回一个或多个输出参数,也可以返回多个结果集,而函数只能返回一个值或者表对象。 数据库索引是什么?有什么作用? 数据库索引:是数据库表中一列或多列的值进行排序的一种结构。

5.4K30

WCF技术剖析之二:再谈IIS与ASP.NET管道

IIS 5.x与ASP.NET 我们先来看看IIS 5.x是如何处理基于ASP.NET资源(比如.aspx,.asmx等)请求的,整个过程基本上可以通过图1体现。...如果我们请求的是一个基于ASP.NET的资源类型,比如:.aspx Web Page、 .asmx Web Service或者.svc WCF Service等,Aspnet_isapi.dll会被加载...具体来说,通过上面的介绍,我们知道对于IIS 6.0来说,W3SVC主要承载着三大功能: HTTP请求接收:接收HTTP.SYS监听到的HTTP请求; 配置管理数据库(Metabase)中加载配置信息对相关组件进行配置...一个应用程序池可以承载一个或者多个Web应用,每个Web应用映射到一个IIS虚拟目录。与IIS 5.x一样,每一个Web应用运行在各自的应用程序域中。...对于不同资源类型的请求,ASP.NET会加载不同的Handler来处理,也就是说.aspx page与.asmx web service对应的Handler是不同的。

1.5K110

ado.net data services开发框架学习

ado.net data services开发框架学习 什么是ado.net data services Ado.net 数据服务可以很方便的将企业内部数据发布一个数据服务器供web客户端调用,ado.net...Ado.net数据服务可以适用于AJAX客户端应用程序,智能客户端应用程序,web应用程序通过web方式存储数据 Ado.net数据服务是一个轻量级的web服务,可以非常方便快捷的方式发布服务,提供数据共享...创建的model发布出一个数据服务,ado.net entity framework支持几乎所有的数据源(sql,xml,web service,应用层数据接口),同时也可以自定义一个数据通过实现IUpdatable...web project,接着向你需要与数据建立连接ado.net entity framework),然后再创建一个ado.net数据服务实现数据的发布。...使用ado.net entity framework创建一个数据库实体模型 创建一个northwind数据实体模型。

75360

.NET事务 隐式事务(TransactionScope) 显示事务(CommittableTransaction) WebService(TransactionOption)

= "INSERT INTO TranTable VALUES(1)";//正常插入 string sql2 = "INSERT INTO TranTable VALUES(256)";//插入异常 ADO.NET...显式事务占用资源少、速度快,但功能简单,只能管理单一对象和单一持久资源间的事务,比如想在数据库 B 插入失败,则回滚对数据库 A 的操作,就无法用这种 ADO.NET 显式事务来实现。 ...如果我们在连接字符串里面加上Enlist=false;,再执行上面的代码,发现插入了一条1的记录,说明并不是以事务方式执行的。...ct = new CommittableTransaction())     {         conn.Open();         conn.EnlistTransaction(ct);//将连接登记到事务...的WEB服务方法时,每个WEB服务方法将参与他们自己的事务,因为Web Service方法只能用作事务中的根对象。

95910

自定义Unity对象生命周期管理集成ADO.NET Entity Framework

在Unity中,Unity 取得的实例为 Transient。如果你希望使用多线程方式,就需要在组成时使用lifecycle参数,这时候取出的组件就不再是同一个了。...在Unity IOC中,它支持我们对于组件的实例进行控制,也就是说我们可以透明的管理一个组件拥有多少个实例。...用在Unity中,如何获取对象的实例及如何销毁对象都是由LifetimeManager完成的,其定义如下 public abstract class LifetimeManager : ILifetimePolicy...下面我们来实现Unity集成ADO.NET Entity Framework的工作: 1、利用Unity的依赖注入,ObjectContext会给我们生成3个构造函数,类似于下面的代码: // Original..." />             <add verb="*" path="*.<em>asmx</em>" validate="false" type="System.<em>Web</em>.Script.Services.ScriptHandlerFactory

97180

oracle数据库connectionstring,oracle数据库 connectionstring

数据库 本文演示了如何在C#中连接Oracle数据库。.../p/9276565.html 园子里关于ASP.NET Core Web API的教程很多,但大多都是… 文章 依乐祝 2018-07-07 2495浏览量 4-1 ADO.NET简介 5 4-1-5...在ADO.NET中,数据库连接是通过Connection对象管理的。此外,事务管理也通过Connection对象进行。...想和大家一起讨论一下如何数据库的设计,更确切的说,不是讨论一些数据库设计的原则,而是在工程上,数据库的设计是什么样子的。...ADO.Net对Oracle数据库的操作【转载】 一 ADO.Net简介 访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC)、数据访问对象(DAO)、远程数据对象 (RDO)、 ActiveX

4.3K40

WCF技术剖析之二:再谈IIS与ASP.NET管道

IIS 5.x与ASP.NET 我们先来看看IIS 5.x是如何处理基于ASP.NET资源(比如.aspx,.asmx等)请求的,整个过程基本上可以通过图1体现。...如果我们请求的是一个基于ASP.NET的资源类型,比如:.aspx Web Page、 .asmx Web Service或者.svc WCF Service等,Aspnet_isapi.dll会被加载...具体来说,通过上面的介绍,我们知道对于IIS 6.0来说,W3SVC主要承载着三大功能: HTTP请求接收:接收HTTP.SYS监听到的HTTP请求; 配置管理数据库(Metabase)中加载配置信息对相关组件进行配置...一个应用程序池可以承载一个或者多个Web应用,每个Web应用映射到一个IIS虚拟目录。与IIS 5.x一样,每一个Web应用运行在各自的应用程序域中。...对于不同资源类型的请求,ASP.NET会加载不同的Handler来处理,也就是说.aspx page与.asmx web service对应的Handler是不同的。

1.2K41
领券