熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

網站間共享數據的WebService

2013-11-13 10:26:53  來源: .NET編程 
我記得好象有一個網友問過關於怎樣在幾個站點間共享數據庫資源
我在兩台電腦上試驗成功了我的代碼是這樣的提供大家參考
在站點a的數據庫服務器的數據庫中有一個數據表NoteBoard
包含字段ID(編號)Title(標題)NoterName(留言人名字)NoteTime(留言時間)
怎樣可以讓站點b獲得這個數據表的記錄呢
在a定義訪問a站數據庫的webservice文件MyViewDBServiceasmx
<%@WebService Language=C# Class=ViewDBService%>
using System;
using SystemData;
using SystemDataOleDb;
using SystemWebServices;
public class ViewDBService : WebService
{
[WebMethod]
public DataSet ViewDB()
{
string connStr=Provider=MicrosoftJetOLEDB;Data Source=E:\\WmjDBmdb;
OleDbConnection conn=new OleDbConnection(connStr);
string sqls=select IDTitleNoterNameNoteTime from NoteBoard order by id;
OleDbDataAdapter adapter=new OleDbDataAdapter();
adapterSelectCommand=new OleDbCommand(sqlsconn);
DataSet dataSet=new DataSet();
adapterFill(dataSetNoteBoard);
connClose();
return dataSet;
}
}
///////////////////////////////////////////////////////////////////////////////
假設這個webservice在
則作為客護端在站點b可以使用
wsdl /l:cs /n:DBService /out:ViewDBServiceClientcs
生成客戶端文件 ViewDBServiceClientcs
用 csc /t:library /out:ViewDBServiceClientdll ViewDBServiceClientcs 編譯dll

編寫客戶端網頁文件indexaspx
<%@page language=C# Codebehind=indexaspxcs AutoEventWireup=false Inherits=WmjViewDB%>
<html>
<head>
<title>我的留言板</title>
</head>
<body>
<form runat=server>
<center>
<asp:DataGrid id=dataGrid ItemStyleBackColor=#AAAADD AutoGenerateColumns=false
AlternatingItemStyleBackColor=#CCCCFF HeaderStyleBackColor=#

HeaderStyleHorizontalAlign=Center
HeaderStyleForeColor=#FFFFFF PagerStyleMode=NumericPages
AllowPaging=true PageSize= FontSize=pt runat=server>
<columns>
<asp:BoundColumn HeaderText=序號 DataField=ID/>
<asp:BoundColumn HeaderText=標題 DataField=Title/>
<asp:BoundColumn HeaderText=留言人 DataField=NoterName/>
<asp:BoundColumn HeaderText=留言時間 DataField=NoteTime DataFormatString={:dd/MM/yyyy}/>

</columns>
</asp:DataGrid>
<asp:Label id=label runat=server/>
</center>
</form>
</body>
</html>
編寫客戶端文件的codebehind indexaspxcs
////////////////////////////////////////////////////////////////////

using System;
using SystemWebUI;
using SystemWebUIWebControls;
using SystemData;
using SystemDataOleDb;
using DBService; //引入客戶端文件的名字空間
namespace Wmj
{
public class ViewDB : Page
{
protected DataGrid dataGrid;
public ViewDB()
{
thisInit+=new EventHandler(thisPage_Init);
}
public void Page_Init(object senderEventArgs e)
{
thisLoad+=new EventHandler(thisPage_Load);
thisdataGridPageIndexChanged+=new

DataGridPageChangedEventHandler(thisDataGrid_PageIndexChanged);
}

public void Page_Load(object senderEventArgs e)
{
ViewDBService viewDBService=new ViewDBService();
//使用webservice
dataGridDataSource=viewDBServiceViewDB()Tables[NoteBoard]DefaultView;
if(!PageIsPostBack)
{
dataGridCurrentPageIndex=;
dataGridDataBind();
}

}
public void DataGrid_PageIndexChanged(object senderDataGridPageChangedEventArgs e)
{
dataGridCurrentPageIndex=eNewPageIndex;
dataGridDataBind();
}
}
}
From:http://tw.wingwit.com/Article/program/net/201311/13656.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.