productsservice.asmx

来自「asp.net技术内幕的书配源码」· ASMX 代码 · 共 60 行

ASMX
60
字号
<%@ WebService Class="ProductsService" Language="C#" %>

using System;
using System.Web.Services;
using System.Data;
using System.Data.SqlClient;
using System.Collections;

[WebService( Namespace="http://yourdomain.com/webservices" )]
public class ProductsService : WebService {
	[WebMethod] 
	public string[] GetCategories() {
		string strSelect;
		SqlConnection conNorthwind;
		SqlCommand cmdCategories;
		SqlDataReader dtrCategories;
		ArrayList colCategories;
		
		strSelect = "SELECT CategoryName FROM Categories";
		conNorthwind = new SqlConnection( @"Server=localhost;Integrated Security=SSPI;Database=Northwind" );
		cmdCategories = new SqlCommand( strSelect, conNorthwind );
		conNorthwind.Open();
		dtrCategories = cmdCategories.ExecuteReader();
		colCategories = new ArrayList();
		while (dtrCategories.Read());
			colCategories.Add( dtrCategories["CategoryName"] );
		conNorthwind.Close();
		return (string[])colCategories.ToArray( typeof( System.String ) ); 
	}

	[WebMethod] 
	public string[] GetProducts(string CategoryName) {
		string strSelect;
		SqlConnection conNorthwind;
		SqlCommand cmdProducts;
		SqlDataReader dtrProducts;
		ArrayList colProducts;
		
		CategoryName = Server.UrlDecode( CategoryName );

		strSelect = "SELECT ProductName, UnitPrice " +
		"FROM Products, Categories WHERE Products.CategoryID = Categories.CategoryID " +
		"AND CategoryName = @CategoryName";

		conNorthwind = new SqlConnection( @"Server=localhost;Integrated Security=SSPI;Database=Northwind" );
		cmdProducts = new SqlCommand( strSelect, conNorthwind );
		cmdProducts.Parameters.Add( new SqlParameter( "@CategoryName", CategoryName ) );
		conNorthwind.Open();
		dtrProducts = cmdProducts.ExecuteReader();
		colProducts = new ArrayList();
		while (dtrProducts.Read()) {
			colProducts.Add(
				dtrProducts["ProductName"] + 
				String.Format( " - {0:c}", dtrProducts["UnitPrice"] ) 
			);
		}
		conNorthwind.Close();
		return (string[])colProducts.ToArray( typeof( System.String ) ); 
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?