當前位置:首頁 » 網頁前端 » aspnetweb服務編程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

aspnetweb服務編程

發布時間: 2022-05-18 02:58:32

① 如何寫一個簡單的Web Service

在開始下面這個例子之前,你的系統需要:
1、WIN2000 + IIS;
2、VS.Net;
3、sql Server(我這里用的是SQL資料庫);

這個Web Service的例子用的是MS大吹的C#寫的,如果你喜歡VB,那麼用VB也是一樣的哦,只不過語法上一些小的差別而已,道理都是一樣的,不過即然MS都鼓吹C#,如果你能夠用C#寫還是用這為好哦。

下面是寫的步驟:

一、打開VS。NET的集成開發環境,FILE菜單上選擇New,新建一個C#的ASP.NET Web Service工程,工程名為WebServiceDemo(完整的是http://localhost/WebServiceDemo)。這是VS就在你的Web系統目錄下生成了相應的文件,我的服務目錄是默認的c:\Inetpub\wwwroot,生成的文件就在c:\Inetpub\wwwroot\webserviceDemo下,就不多說了。

二、打開與生成工程對應的C#源文件,這里是Service1.asmx.cs,VS.Net集成環境已經為你生成了相應的代碼如下:
// =============================================================================
// 文件: Service1.asmx.cs
// 描述: 架構一個Web Service來對資料庫進行互訪
//
//
// ============================================================================

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

// 系統生成了與工程名相同的命名空間
namespace WebServiceDemo
{
/// <summary>
/// Summary description for Service1.
/// </summary>
// 所有的WEB服務都是派生於System.Web.Services.WebService的。
public class Service1 : System.Web.Services.WebService
{
public Service1()
{
//CODEGEN: This call is required by the ASP.NET Web Services Designer
InitializeComponent();
}
}
}

裡面我添加了文件說明和相應的注釋,接下來就是在裡面編寫相應的服務代碼了。這里我想先把對資料庫的操作封裝在同一命名空間的單獨的一個類里,下面編寫WEB方法時只用接調用這個類中的相應方法就可以了。下面是我寫的這個類的代碼:

// -------------------------------------------------------------------------
// 構建一個新類,用於對數據的訪問
// -------------------------------------------------------------------------
public class DataAccess
{
// 連接字元串成員變數
private string m_szConn = "";
private SqlConnection m_sqlConn;
private SqlDataAdapter m_sqlDa;
// 構造函數
public DataAccess(string szConnectionString)
{
m_szConn = szConnectionString;
}
// 返回一個記錄集
public DataSet GetDataset(string szCommandText)
{
DataSet sqlDs;

try
{
m_sqlConn = new SqlConnection(m_szConn);
m_sqlConn.Open();
m_sqlDa = new SqlDataAdapter(szCommandText,m_sqlConn);
sqlDs = new DataSet();
m_sqlDa.Fill(sqlDs);
m_sqlConn.Close();
return sqlDs;
}
catch
{
return null;
}
}
// 重載上述方法
public DataSet GetDataset(string szCommandText, string szTableName)
{
DataSet sqlDs;

try
{
m_sqlConn = new SqlConnection(m_szConn);
m_sqlConn.Open();
m_sqlDa = new SqlDataAdapter(szCommandText,m_sqlConn);
sqlDs = new DataSet();
m_sqlDa.Fill(sqlDs,szTableName);
m_sqlConn.Close();
return sqlDs;
}
catch
{
return null;
}
}
}

這些就不多說了,與創建一般的C#類是一樣的。類中有三個函數,其中一個為構造函數,調用時傳入連接字元串。另外兩個函數都是一樣的作用,返回用戶需要的記錄集,只不是調用時傳的參數不一樣,實質都是一樣的。

下面就是在Service1類中添加真正用於WEB調用的代碼了,這部分才是給WEB應用程序調用的東西。在編寫這個類的代碼之前,應該先申請一個服務命令空間,設置相應的屬性,這一句可萬萬不能少哦,呵呵~,它告訴了WEB服務存放的路徑等相關的信息。如下:
// 聲明一個服務空間
[WebService(
Namespace = "http://localhost/WebServiceDemo/", //其實這個才是最重要的啦~,其它的都可以不要哦
Name = "Web Service Demo",
Description = "Web Service Demo"
)]
下面是Service1的代碼:

public class Service1 : System.Web.Services.WebService
{
public Service1()
{
//CODEGEN: This call is required by the ASP.NET Web Services Designer
InitializeComponent();
}

#region Component Designer generated code

//Required by the Web Services Designer
private IContainer components = null;

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}

/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if(disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}

#endregion

// 連接字元串常量
const string szConn = "server=(local)\\taoyi;uid=sa;pwd=;"
+ "initial catalog=mydata;data source=taoyi";

[WebMethod]
public String About()
{
return "這是一個C#編寫的Web Service演示程序!";
}

// 返回其中一個WebServiceDemo表
[WebMethod]
public DataSet GetServiceDemoTable()
{
DataSet sqlDs = new DataSet();
DataAccess dataAcc = new DataAccess(szConn);
string szSql = "Select * From WebServiceDemo";
sqlDs = dataAcc.GetDataset(szSql,"Demo");

return sqlDs;
}
// 返回由用戶指定的查詢
[WebMethod]
public DataSet GetByUser(string szCommandText)
{
DataSet sqlDs = new DataSet();
DataAccess dataAcc = new DataAccess(szConn);
sqlDs = dataAcc.GetDataset(szCommandText);

return sqlDs;
}
}
是不是很簡單哦,就只這么點,呵呵~,不過也可以說明問題的了。這個類中聲明了三個WEB方法,有沒有發覺呢?每個方法的前面都加了[WebMethod],表示該方法為WEB方法。呵呵,如果你想要你寫的函數可以讓WEB應用程序調用的話,這個可不能少的啦~,不然WEB應用程序就無法調用的。

到此一個WEB服務就完成了,點擊運行看看,如果沒什麼錯的話,就會出現如下的WEB頁面服務描述:

Service1

The following operations are supported. For a formal definition, please review the Service Description.

* GetByUser

* GetServiceDemoTable

* About

.....(下面還有很多)

其中代星號的就是先前在函數前加了[WebMethod]的函數。在出現在頁面中你可以單擊相應的函數,然後就會跳到調用頁面,你可以在相應的文本框中(如果函數有參數的話)輸入相應的參數,點而調用按鈕,那麼就可以看到函數返回的結果了(前提是函數調用無錯的話),不過全是XML格式的文本。比如我的GetServiceDemoTable函數調用的結果如下:

<?xml version="1.0" encoding="utf-8" ?>
- <DataSet xmlns="http://tempuri.org/">
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="zh-CN">
- <xs:complexType>
- <xs:choice maxOccurs="unbounded">
- <xs:element name="Demo">
- <xs:complexType>
- <xs:sequence>
<xs:element name="ID" type="xs:int" minOccurs="0" />
<xs:element name="szUser" type="xs:string" minOccurs="0" />
<xs:element name="szSex" type="xs:string" minOccurs="0" />
<xs:element name="szAddr" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <NewDataSet xmlns="">
- <Demo diffgr:id="Demo1" msdata:rowOrder="0">
<ID>1</ID>
<szUser>taoyi</szUser>
<szSex>男</szSex>
<szAddr>四川瀘州</szAddr>
</Demo>
- <Demo diffgr:id="Demo2" msdata:rowOrder="1">
<ID>2</ID>
<szUser>xiner</szUser>
<szSex>女</szSex>
<szAddr>四川宜賓</szAddr>
</Demo>
</NewDataSet>
</diffgr:diffgram>
</DataSet>

到此為至,Web Service程序就已經算是完成了。

下面要做的是寫一個WEB應用程序來測試我寫的這個Web Service了,看看能不能達到想要的結果。建立Web應用程序的步驟如下:

一、新建一個ASP.Net Web Application工程,與創建Web Service的第一步一樣,只是工程類型不一樣罷了。我這里工程名為WebServiceDemoTest,完整的為http://localhost/WebServiceDemoTest,系統就在相應的目錄(c:\Inetpub\wwwroot\WebserviceDemoTest)下生成了所需文件。
二、在設計視圖下打開WebForm1.aspx文件,在裡面放置一個panel容器,為了達到測試的目的,我們需要三個服務端按鈕和一個服務端文本框,分別調用我們在Web Service中寫的三個函數,另外,為了展示調用方法所得達的數據,還需要一個服務端標簽控制項和一個DataGrid控制項。頁面的布置就隨便你了,想怎麼放置就怎麼放置,只要能達到演示的目的就行。
三、引用先前寫的Web Service程序,菜單步驟如下project->add web reference...,然後輸入我們Web Service的路徑,這里是http://localhost/WebServiceDemo/Service1.asmx,點擊添加就OK了。這時你將在類視圖中看到localhost命名空間了。
四、編寫測試代碼。

為了便於後面少寫些代碼,如(xxxx.xxxx.xx xx = new xxxx.xxx.xx()這種),那麼首先你得引用localhost命名空間的service1類,以後直接寫xxxx xx = new xxxx()就可以了。
下面是幾個按鈕的代碼:

// 測試GetServiceDemoTable()
private void Button2_Click(object sender, System.EventArgs e)
{
DataSet ds = new DataSet();
Service1 oService = new localhost.Service1();

// 返回記錄集
ds = oService.GetServiceDemoTable();
if (ds != null)
{
// 顯示記錄集的記錄
DataGrid1.DataSource = ds.Tables["Demo"];
DataGrid1.DataBind();
}
else
{
this.Response.Write("載入數據錯誤!");
}
}
// 測試GetByUser()
private void Button1_Click(object sender, System.EventArgs e)
{
DataSet ds = new DataSet();
Service1 oService = new localhost.Service1();
String szCommand = TextBox1.Text;

ds = oService.GetByUser(szCommand);
if (ds != null)
{
DataGrid1.DataSource = ds;
DataGrid1.DataBind();
}
else
Response.Write("錯誤!有可能是SQL命令有問題!");
}
// 測試About()
private void Button3_Click(object sender, System.EventArgs e)
{
Service1 oService = new localhost.Service1();
Label1.Text = oService.About();
}

OK,最後就是運行了,如果一切OK,點擊第一個按鈕得到的將是在一個包函用戶執行的SQL命令的表結果。第二個按鈕得到的就是上面運行Web Service時的GetServiceDemoTable得到的XML描述,即
ID szUser szSex szAddr
1 taoyi 男 四川瀘州
2 xiner 女 四川宜賓
點擊第三個按鈕,則在Label1中顯示"這是一個C#編寫的Web Service演示程序!」的字元串。

② 求asp引用webservice的方法

使用三個文件來實現調用功能。

global.asa,當程序開始運行時,使用application變數

i_soapcall.asp 一個包含文件,用以訪問soap service

default.asp 一個基本的asp文件,用以顯示soap數據

Global.asa

當website運行時global.asa時刻都在運行,在application_onstart中我們加入application變數

源代碼:

————————————————————————————————————————————

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart

Dim ASPNETResources

ASPNETResources = GetASPNetResources()

Application("ASPNETExpires") = 12

If Len(ASPNETResources) >0 then

Application.Lock

Application("ASPNETResourcesUpdated")=Now()

Application("ASPNETResourceList")=ASPNETResources

Application.UnLock

End if

End Sub

</script>

<!-- #include file="i_soapcall.asp" -->

——————————————————————————————————————

當application第一次執行時,我們定義了一個變數:ASPNETResources,它的值是函數GetASPNetResources()的執行結果,這

個函數可以在包含文件i_soapcall.asp中找到,他返回一個字元串,隨後我們定義了過期時間的變數:

Application("ASPNETExpires"),我們將在default.asp中使用,最後我們檢查了GetASPNetResources()是否執行正確,返回

值長度是否大於0,如果成功我們需要紀錄時間 Application("ASPNETResourcesUpdated"), 和執行結果

Application("ASPNETResourceList"). 在後面我將告訴大家這些變數是做什麼的!

Default.asp

default.asp是用來顯示我們的webservice請求

——————————————————————————————————————————————

<%

Dim ASPNETResources

If len( Application("ASPNETResourceList") )>0 then

If DateDiff("h",Now(),Application("ASPNETResourcesUpdated")) > Application("ASPNETExpires") Then

ASPNETResources = GetASPNetResources()

Application.Lock

Application("ASPNETResourcesUpdated")=Now()

Application("ASPNETResourceList")=ASPNETResources

Application.UnLock

End if

Else

ASPNETResources = GetASPNetResources()

Application.Lock

Application("ASPNETResourcesUpdated")=Now()

Application("ASPNETResourceList")=ASPNETResources

Application.UnLock

End if

Response.Write Application("ASPNETResourceList")

%>

———————————————————————————————————————

現在是神秘的i_soapcall.asp

大家在想神秘的GetASPNetResources()到底是什麼樣子的,可以用基本的asp頁面調用webservice,不要忘了soap service無論是wsdl文檔還是執行結果都是一個xml文檔,所以我們可以parse(解析)它,這並不困難!

在函數中我們用到兩個object

Function GetASPNetResources()

Set SoapRequest = Server.CreateObject("MSXML2.XMLHTTP")

Set myXML =Server.CreateObject("MSXML.DOMDocument")

SoapRequest 是伺服器端組件,可以發送post和get請求。

myXML將被用來創建一個soap service的xml文檔

————————————————————————————————————————————

myXML.Async=False

SoapURL = "http://IP或網址/WebSvc/whatsnew123apx_ds.asmx/GetNew123aspXResources?"

SoapRequest.Open "GET",SoapURL , False

SoapRequest.Send()

if Not myXML.load(SoapRequest.responseXML) then

returnString = ""

Else

—————————————————————————————————————————————

我們設定SoapURL 為我們的webservice的url然後我們用下面的語句打開連接

——————————————————————————————————————————————

SoapRequest.Open "GET",SoapURL , False

_____________________________________________________________________________________________

SoapRequest.Open有五個參數,但是只有前兩個是必需的,這意味著其他三個是可以隨意選擇的

參數解釋:

oServerXMLHTTPRequest.open bstrMethod, bstrUrl, bAsync, bstrUser, bstrPassword

Parameters

bstrMethod

HTTP method used to open the connection, such as PUT or PROPFIND.

bstrUrl

Requested URL. This must be an absolute URL, such as "http://Myserver/Mypath/Myfile.asp".

bAsync (optional)

Boolean. Indicator as to whether the call is asynchronous. The default is False (the call does not

return immediately).

bstrUser (optional)

Name of the user for authentication.

bstrPassword (optional)

Password for authentication. This parameter is ignored if the user parameter is Null or missing

設置完畢我們用SoapRequest.Send()向伺服器發送請求,伺服器返回的結果作為文本被存儲在SoapRequest.responseXML中

我們要做的就是構析這段文本。

下面給出i_soapcall.asp的全部代碼

<script language="vbscript" runat="server">

Function GetASPNetResources()

Dim returnString

Dim myXML

Dim SoapRequest

Dim SoapURL

Set SoapRequest = Server.CreateObject("MSXML2.XMLHTTP")

Set myXML =Server.CreateObject("MSXML.DOMDocument")

myXML.Async=False

SoapURL = "http://IP或網址/WebSvc/whatsnew123apx_ds.asmx/GetNew123aspXResources?"

'這是真實可用的webservice

SoapRequest.Open "GET",SoapURL , False

SoapRequest.Send()

if Not myXML.load(SoapRequest.responseXML) then 'an Error loading XML

returnString = ""

Else 'parse the XML

Dim nodesURL

Dim nodesName

Dim nodesDateUpdated

Dim nodesDomain

Dim NumOfNodes

Dim ResourceList

Dim i

REM -- The XML Nodes are CASE SENSITIVVE!

Set nodesURL=myXML.documentElement.selectNodes("//URL")

Set nodesName=myXML.documentElement.selectNodes("//Name")

REM -- uncomment the following lines if we want to access the DataUpdated and the Domain Nodes

REM --Set nodesDateUpdated = myXML.documentElement.selectNodes("//DateUpdated")

REM --Set nodesDomain = myXML.documentElement.selectNodes("//Domain")

REM -- the number of nodes in the list

NumOfNodes = nodesURL.Length

ResourceList = "<font face=verdana size=2>Latest ASP.NET Resources</font><ul>"

For i = 0 to NumOfNodes -1

ResourceList = ResourceList & "<li><a href=" & nodesURL(i).text & "><font face=verdana size=2>" &

nodesName(i).text & "</font></a></li>"

next

ResourceList =ResourceList & "</ul>"

returnString = ResourceList

Set nodesURL = Nothing

Set nodesName = Nothing

End If

Set SoapRequest = Nothing

Set myXML = Nothing

GetASPNetResources = returnString

End Function

</script>

同樣的創作思路可以用在別的編程語言中

③ asp.net c# 開發對外的WebService服務,獲取數據

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Web;
usingSystem.Web.Services;

namespacetest
{
///<summary>
///WebService的摘要說明
///</summary>
[WebService(Namespace="http://tempuri.org/")]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]

publicclassWebService:System.Web.Services.WebService
{
//模擬資料庫
privatestaticList<User>users=newList<User>();
staticWebService()
{
//初始化模擬數據
users.Add(newUser(){data=DateTime.Now,id=1,batchNo="u1001",barcode="c12",score=95});
users.Add(newUser(){data=DateTime.Now.AddDays(-1),id=1,batchNo="u1002",barcode="c12",score=96});
users.Add(newUser(){data=DateTime.Now.AddDays(1),id=1,batchNo="u1003",barcode="c12",score=97});
users.Add(newUser(){data=DateTime.Now,id=1,batchNo="u1004",barcode="c12",score=98});
users.Add(newUser(){data=DateTime.Now,id=1,batchNo="u1005",barcode="c13",score=99});
users.Add(newUser(){data=DateTime.Now,id=1,batchNo="u1006",barcode="c13",score=100});
}

[WebMethod]
publicList<User>Query(DateTimed1,DateTimed2,intid,stringbatchNo,stringbarcode)
{
List<User>result=null;
if(!string.IsNullOrEmpty(barcode))
{
result=users.FindAll(f=>f.barcode.Equals(barcode));
}
else
{
if(!string.IsNullOrEmpty(batchNo))
{
result=users.FindAll(f=>f.batchNo.Equals(batchNo));
}
else
{
result=users.FindAll(f=>f.id==id&&f.data>d1&&f.data<d2);
}
}
returnresult;
}
}

publicclassUser
{
publicDateTimedata{get;set;}
publicintid{get;set;}
publicstringbatchNo{get;set;}
publicstringbarcode{get;set;}
publicintscore{get;set;}
}
}

④ aspnet是做什麼的

ASP.NET是.NET FrameWork的一部分,是一項微軟公司的技術,是一種使嵌入網頁中的腳本可由網際網路伺服器執行的伺服器端腳本技術,它可以在通過HTTP請求文檔時再在Web伺服器上動態創建它們。 指 Active Server Pages(動態伺服器頁面) ,運行於 IIS(Internet Information Server 服務,是Windows開發的Web伺服器)之中的程序 。
………………………………………………

如果對aspnet感興趣,看看一個大專生怎麼自學aspnet到找到工作。
先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說 出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不 到希望,我就退學了。
退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後 我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘 做技術的,可是處處碰壁。
一次偶然的機會,我才聽到aspnet這個行業。那天我去新華書店,在計算機分類那邊想找本書學習 。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習aspnet,然後給我介紹了一下 aspnet現在的火熱情況,告訴我學aspnet多麼的有前景,給我了一份傳單,aspnet培訓的廣告。聽了 她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家後,我就上網查了下aspnet,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相 對比較高。我就下決心想學aspnet了。於是我去找aspnet培訓的相關信息,說真的,我也很迷茫,我 不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
後來,我在網路知道看到一篇讓我很鼓舞的文章是一個aspnet高手介紹沒有基礎的朋友怎麼自學入 門學aspnet,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實 在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會 我再去培訓。
主意一定,我就去搜索aspnet的視頻,雖然零星找到一些aspnet的視頻,但是都不系統,我是想找 一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教, 不懂可以請教的。
後來我又找到一份很好的視頻,是在IT學習聯盟推出的一份視頻《零基礎aspnet就業班》(喜歡《 零基礎aspnet就業班》的可以復制 sina.lt/bsjr 粘貼瀏覽器地址欄按回車鍵即打開)
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C#語言視頻教程 學起,話說簡單,其實我還是很多不懂的,只要重復多看幾遍,就能看懂。C#語言我差不多學了一個禮 拜,接下來我就學了winform,SQL Server,html/css/javaScript,差不多也就三個禮拜。我每天都在不 停的寫一些簡單的代碼,這樣一月後我基本掌握了aspnet的全部基礎。
接下來開始學習aspnet高級課程,老師幽默風趣而又輕松的課堂教課,使我發現原來學習aspnet並 不是一件很難的事情。之前我把aspnet基礎學得還不錯,到了到了aspnet高級部分,我覺不又不是很 難,可能老師太牛了,他能把復雜的問題講的比較通俗易懂,有些難點的地方我還是連續看了五六次, 把他弄懂。每天下午6點下班後,吃了飯,馬上跑回家。看視頻,買了幾本筆記本。當時,為了編程還花幾百元了台二手的台式電腦,配置一般,但編程是足夠的。一邊看視頻,一邊記筆記,把重點都記下來,還一邊跟著老師敲代碼,為了能盡早學會aspnet。每天都堅持學5-6個小時。經常學到晚上一點多才睡覺。星期六,日不用上班,每天7點多起床,學到晚上11,12點。那段時間特別辛苦,特別累。在學習aspnet的三個多月里,除了吃飯睡覺工作,剩餘的時間都在學習,因為我知道自己的計算機基礎不是很好,也沒有學過什麼計算機,相對於那些科班的人來說我要比他們付出更多的努力。我只能咬緊牙關,堅持下去,我不能放棄,我要完成我的夢想,我要讓我的家人過上好日子。終於三個多月後我把aspnet教程里的內容和項目都學完了,在學項目的過程中我發現項目特別重要,他能把你學過的知識全部聯系起來,能更好的理解你所學的知識。還有學習過程中,動手很重要,要經常跟著老師動手敲,動手吧,跟著做,一行一行的跟著敲,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠比干聽大的多。 如果遇到暫時對於一些思路不能理解的,動手寫,先寫代碼,慢慢你就會懂了。
於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是aspnet開發程序員,但我也比較滿足,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。

…………………………………………

⑤ C# 如何使用Web服務

首先你要理解web服務,我們一般都是用webservice來做,webservice就好比一個網站,其他的程序或網站通過地址去訪問這個webservice,然後就可以調用裡面的方法,讓服務幫你處理所有的數據,比如我做個計算器,我界面上只需要你輸入計算的數字和運算符號,然後我把數字和符號以請求的方式發送給wenservice里去計算,計算好了服務在吧結果返回給我,就這意思

⑥ 求一C#高手教我Web編程思想!!!!!!!!!!!!!!!!!!!!!!

首先聲明,我不是高手。就我的理解,C#的web編程,多是用三層框架,和傳統C/S結構的三層差不多,都有UI層(界面),業務處理層(處理業務,處理請求), 數據訪問層(返回資料庫,回傳資料) 有區別的是UI層,小型的(或者不基於網路的)C/S程序,他的UI層很多時候是直接和業務層,數據訪問層在同一環境下的。(也就是UI層可以直接調用業務層,他們在一台機器的同一運行環境下)而有時候也不盡如此,比如網路編程,UI在客戶端,業務處理層和數據層,在服務端。B/S可以說是一個特殊的網路C/S程序。他們定義了一套標准,以瀏覽器作為客戶端,web伺服器(web程序)為服務端。html為通訊媒介。因此web程序其實是在C/S結構的程序基礎上的一個抽象,(屏蔽了socket)。可以說C#的web就是一個專門來處理 瀏覽器這個客戶端請求的一個 服務端框架, 處理請求,然後輸出根據請求生成html文檔,發送給瀏覽器。C#的可視化編程環境,有很多控制項可用,控制項和C/S程序的控制項一樣,但是要理解的是,這2個控制項是有區別的, 因為C# WEB程序的UI是瀏覽器,所以實際上這些控制項是會生成html代碼和ajax效果的。理解這些是有必要的,因為可視化的編程環境往往會讓你感受到和寫C/S代碼沒區別,這也是微軟希望做到了,他做到了,可是有些地方卻不能完全這樣做。(這些誤區,甚至讓你犯一些很低級的錯誤)。比如我曾經試圖在web伺服器創建socket來實現多用戶的通訊,(這個是毫無必要的,因為web程序本身就是socket程序)希望這些對你有幫助。。如果有不理解的可以在問。

⑦ C# asp.net web服務應用程序問題

你只是ServiceReference1.UserInfo[] cu = new WindowsFormsApplication1.ServiceReference1.UserInfo[6];
cu本身初始化了,但是cu里每個元素都是null.

所以你public void test(ref UserInfo [] u)
裡面的 u[i].email = i.ToString();
是有問題的,因為u[i]都是null,沒有實例化,所以.email還沒有呢.怎麼可以給
u[i].email 賦值呢?

⑧ WEB伺服器

重新注冊asp.net
方法是:
1、打開VS2003.NET命令行
2、執行命令:aspnet_regiis -i
3、執行命令:aspnet_regiis -r

⑨ ASP.NET是什麼

ASP.NET是.NET FrameWork的一部分,是一項微軟公司的技術,是一種使嵌入網頁中的腳本可由網際網路伺服器執行的伺服器端腳本技術,它可以在通過HTTP請求文檔時再在Web伺服器上動態創建它們。 指 Active Server Pages(動態伺服器頁面) ,運行於 IIS(Internet Information Server 服務,是Windows開發的Web伺服器)之中的程序 。
………………………………………………

如果對aspnet感興趣,看看一個大專生怎麼自學aspnet到找到工作。
先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說 出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不 到希望,我就退學了。
退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後 我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘 做技術的,可是處處碰壁。
一次偶然的機會,我才聽到aspnet這個行業。那天我去新華書店,在計算機分類那邊想找本書學習 。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習aspnet,然後給我介紹了一下 aspnet現在的火熱情況,告訴我學aspnet多麼的有前景,給我了一份傳單,aspnet培訓的廣告。聽了 她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。
回家後,我就上網查了下aspnet,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相 對比較高。我就下決心想學aspnet了。於是我去找aspnet培訓的相關信息,說真的,我也很迷茫,我 不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
後來,我在網路知道看到一篇讓我很鼓舞的文章是一個aspnet高手介紹沒有基礎的朋友怎麼自學入 門學aspnet,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實 在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會 我再去培訓。
主意一定,我就去搜索aspnet的視頻,雖然零星找到一些aspnet的視頻,但是都不系統,我是想找 一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教, 不懂可以請教的。
後來我又找到一份很好的視頻,是在IT學習聯盟推出的一份視頻《零基礎aspnet就業班》(喜歡《 零基礎aspnet就業班》的可以復制 sina.lt/bsjr 粘貼瀏覽器地址欄按回車鍵即打開)
下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。
收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C#語言視頻教程 學起,話說簡單,其實我還是很多不懂的,只要重復多看幾遍,就能看懂。C#語言我差不多學了一個禮 拜,接下來我就學了winform,SQL Server,html/css/javaScript,差不多也就三個禮拜。我每天都在不 停的寫一些簡單的代碼,這樣一月後我基本掌握了aspnet的全部基礎。
接下來開始學習aspnet高級課程,老師幽默風趣而又輕松的課堂教課,使我發現原來學習aspnet並 不是一件很難的事情。之前我把aspnet基礎學得還不錯,到了到了aspnet高級部分,我覺不又不是很 難,可能老師太牛了,他能把復雜的問題講的比較通俗易懂,有些難點的地方我還是連續看了五六次, 把他弄懂。每天下午6點下班後,吃了飯,馬上跑回家。看視頻,買了幾本筆記本。當時,為了編程還花幾百元了台二手的台式電腦,配置一般,但編程是足夠的。一邊看視頻,一邊記筆記,把重點都記下來,還一邊跟著老師敲代碼,為了能盡早學會aspnet。每天都堅持學5-6個小時。經常學到晚上一點多才睡覺。星期六,日不用上班,每天7點多起床,學到晚上11,12點。那段時間特別辛苦,特別累。在學習aspnet的三個多月里,除了吃飯睡覺工作,剩餘的時間都在學習,因為我知道自己的計算機基礎不是很好,也沒有學過什麼計算機,相對於那些科班的人來說我要比他們付出更多的努力。我只能咬緊牙關,堅持下去,我不能放棄,我要完成我的夢想,我要讓我的家人過上好日子。終於三個多月後我把aspnet教程里的內容和項目都學完了,在學項目的過程中我發現項目特別重要,他能把你學過的知識全部聯系起來,能更好的理解你所學的知識。還有學習過程中,動手很重要,要經常跟著老師動手敲,動手吧,跟著做,一行一行的跟著敲,再試著加一些自己的功能,按照自己的思路敲一些代碼,收獲遠比干聽大的多。 如果遇到暫時對於一些思路不能理解的,動手寫,先寫代碼,慢慢你就會懂了。
於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是aspnet開發程序員,但我也比較滿足,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。

…………………………………………

⑩ C# vs2010用asp.net做一個web應用程序,通過iis把什麼文件放在伺服器上,能讓別人訪問我做的網頁界面啊

在VS2010裡面Web工程上應該有Publish,通過這個操作可以生成一組文件,將這組文件復制到你的IIS根目錄下就可以訪問了