WebService里面怎樣使用session WebService里面怎樣使用session
要在webservice中使用session,
1.需要在服務(wù)端的方法中加入[WebMethod(EnableSession=true)]修飾方法,
2.在客戶端,要在實(shí)例化了webservice代理類之后,要為它的CookieContainer 實(shí)例化一個(gè) new CookieContainer();
這樣才能使用session存儲(chǔ)狀態(tài)。
3.另外在多個(gè)webservice代理中,只要含有相同的cookie,就能共用相同的session,其中的cookie通過代理類的CookieContainer.GetCookies(new Uri(s.Url))["ASP.NET_SessionId"]取得,如果其他的webserivce代理類需要用相同的session則可以用CookieContainer.Add方法,將取得的cookie加入即可。
如果只想使用cookie,則只需要在客戶端做設(shè)置就可以,服務(wù)器端不需要像session一樣加入屬性修飾。
另外webmethod只用于public的成員方法,不用于static的,雖然不報(bào)錯(cuò),但在客戶端代理類中是找不到static方法的。
在使用asp.net編寫webservice時(shí),默認(rèn)情況下是不支持session的,但我們可以把WebMethod的EnableSession選項(xiàng)設(shè)為true來顯式的打開它,請(qǐng)看以下例子:
1 新建網(wǎng)站W(wǎng)ebSite
2 新建web服務(wù)WebService.asmx,它具有以下兩個(gè)方法:
[WebMethod(EnableSession = true)]
public string Login(string name)
{
Context.Session["name"] = name;
return name;
}
[WebMethod(EnableSession = true)]
public string GetName()
{
if (Context.Session["name"] != null)
return Context.Session["name"].ToString();
else
return "";
}
3 添加asp.net頁(yè)面SessionInWebservice.aspx
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server"
Text="Login" OnClick="btnLogin_Click" />
</div>
<div>
<asp:Button ID="btnGetName" runat="server"
Text="GetName" OnClick="btnGetName_Click" />
<asp:Label ID="lblName" runat="server" Text="Label"></asp:Label>
</div>
</form>
SessionInWebservice.aspx.cs
protected void btnLogin_Click(object sender, EventArgs e)
{
WebService ws = new WebService();
ws.Login(txtName.Text);
}
protected void btnGetName_Click(object sender, EventArgs e)
{
WebService ws = new WebService();
lblName.Text = ws.GetName();
}
再荷19777098897: asp如何調(diào)用webservice asp中應(yīng)該怎么寫? -
固安縣機(jī)械: ______ asp可以調(diào)用asp.net編寫webservice接口.1、webservice的配置文件web.config的system.web節(jié)點(diǎn)添加如下代碼 <webServices> <protocols> <add name="HttpPost"/> <add name="HttpGet"/> </protocols> </webServices>2、asp代碼 dim url...
再荷19777098897: 在Asp.net中WebService怎么使用?
固安縣機(jī)械: ______ Web Service主要是為了使原來各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口. Web Service所使用的是Internet上統(tǒng)一、開放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡(jiǎn)單對(duì)象訪問協(xié)議)、WSDL等,所以Web Service可以在任何支...
再荷19777098897: 在tomcat中成功發(fā)布webservice服務(wù) 怎么使用 -
固安縣機(jī)械: ______ 先啟動(dòng)tomcat 然后通過訪問到tomcat的主頁(yè),上面可以上傳你的web項(xiàng)目,長(zhǎng)傳后點(diǎn)擊開始就可以了. 還有一種就是直接將項(xiàng)目解壓到tomcat文件目錄文件夾下面,啟動(dòng)tomcat就可以訪問了
再荷19777098897: php 中 webservice 是如何使用的 調(diào)用別人的接口 參數(shù)是如何傳遞的 -
固安縣機(jī)械: ______ webservice 發(fā)展了好久了,有好多種客戶端部署調(diào)用方式 ,流程大致是先創(chuàng)建服務(wù),再調(diào)用.下面的代碼是創(chuàng)建一個(gè)簡(jiǎn)單的Webservice服務(wù).server.php<?php require_once "lib/nusoap.php"; function webserver() { return "This is a Webservice ...
再荷19777098897: 如何調(diào)用第三方的webservice -
固安縣機(jī)械: ______ 在解決方案中右擊有個(gè)添加引用服務(wù),彈一個(gè)也沒把你想要引用的webservice發(fā)布路徑(網(wǎng)址)填寫在哪里,點(diǎn)擊前往,如果能正常連接會(huì)顯示你所引用的webservice所提供的接口,或者方法.
再荷19777098897: vc2010 下怎么調(diào)用Webservice -
固安縣機(jī)械: ______ 1.添加web引用,把WebService引到當(dāng)前的工程里面. 在資源管理器中點(diǎn)擊右鍵,選擇添加Web 引用,調(diào)出對(duì)話框,在URL中填入WebService發(fā)布后的訪問地址 ,點(diǎn)擊"前往"按鈕,然后點(diǎn)擊"添加引用",就將webservice引用到了當(dāng)前的工程里面 . 2. 找到調(diào)用編前會(huì)接口函數(shù)方法//添加所調(diào)用的的Web服務(wù)的接口地址 (見下) var URL = "htt p:/ /NewsService.asmx?op=SendManuscript"; 調(diào)用webservice的方法都是差不多的,自己多動(dòng)手試試
再荷19777098897: 如何在ASP.net中調(diào)用webservice里的一個(gè)方法 -
固安縣機(jī)械: ______ 文件,將AJAX的組件添加到工具箱,工具箱上會(huì)顯示一條AJAX的控件選項(xiàng),添加AJAX控件里面的SCRIPTMANAGER控件到頁(yè)面,這些是必須的前提;然后有兩種方法可以使用JAVASCRIPT異步調(diào)用服務(wù)器:<br>1.WEBSERVICE方法:新...
再荷19777098897: C#中怎么調(diào)用WebService -
固安縣機(jī)械: ______ 在要調(diào)用的項(xiàng)目下的引用中,右單擊,選擇“添加服務(wù)引用...”在彈出的的對(duì)話框中填寫webservice地址,下方命名空間改成你想要的,然后確定就行了.調(diào)用的時(shí)候:ns.ClassName ws = new ns.className(); string s = ws.HelloWorld(); ns是你剛填的命名空間, className是對(duì)應(yīng)的webservice生成的類
再荷19777098897: 如何在C#中webservice調(diào)用方法總結(jié) -
固安縣機(jī)械: ______ 一、WebService在cs后臺(tái)程序中的調(diào)用 <br> A、通過命名空間和類名直接調(diào)用 <br> 示例: <br><br> WebService ws = new WebService(); <br> string s = ws.HelloWorld(); B、通過添加WEB引用的方式調(diào)用,首先添加WEB引用,通過URL指向...
再荷19777098897: C#如何調(diào)用WebService
固安縣機(jī)械: ______ 使用VS里面的命令提示訪問你的Service 會(huì)生成一個(gè)配置文件和一個(gè)類,把這個(gè)兩個(gè)文件復(fù)制到你的工程里面,就可以調(diào)用其中的方法.
1.需要在服務(wù)端的方法中加入[WebMethod(EnableSession=true)]修飾方法,
2.在客戶端,要在實(shí)例化了webservice代理類之后,要為它的CookieContainer 實(shí)例化一個(gè) new CookieContainer();
這樣才能使用session存儲(chǔ)狀態(tài)。
3.另外在多個(gè)webservice代理中,只要含有相同的cookie,就能共用相同的session,其中的cookie通過代理類的CookieContainer.GetCookies(new Uri(s.Url))["ASP.NET_SessionId"]取得,如果其他的webserivce代理類需要用相同的session則可以用CookieContainer.Add方法,將取得的cookie加入即可。
如果只想使用cookie,則只需要在客戶端做設(shè)置就可以,服務(wù)器端不需要像session一樣加入屬性修飾。
另外webmethod只用于public的成員方法,不用于static的,雖然不報(bào)錯(cuò),但在客戶端代理類中是找不到static方法的。
在使用asp.net編寫webservice時(shí),默認(rèn)情況下是不支持session的,但我們可以把WebMethod的EnableSession選項(xiàng)設(shè)為true來顯式的打開它,請(qǐng)看以下例子:
1 新建網(wǎng)站W(wǎng)ebSite
2 新建web服務(wù)WebService.asmx,它具有以下兩個(gè)方法:
[WebMethod(EnableSession = true)]
public string Login(string name)
{
Context.Session["name"] = name;
return name;
}
[WebMethod(EnableSession = true)]
public string GetName()
{
if (Context.Session["name"] != null)
return Context.Session["name"].ToString();
else
return "";
}
3 添加asp.net頁(yè)面SessionInWebservice.aspx
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server"
Text="Login" OnClick="btnLogin_Click" />
</div>
<div>
<asp:Button ID="btnGetName" runat="server"
Text="GetName" OnClick="btnGetName_Click" />
<asp:Label ID="lblName" runat="server" Text="Label"></asp:Label>
</div>
</form>
SessionInWebservice.aspx.cs
protected void btnLogin_Click(object sender, EventArgs e)
{
WebService ws = new WebService();
ws.Login(txtName.Text);
}
protected void btnGetName_Click(object sender, EventArgs e)
{
WebService ws = new WebService();
lblName.Text = ws.GetName();
}
相關(guān)評(píng)說:
固安縣機(jī)械: ______ asp可以調(diào)用asp.net編寫webservice接口.1、webservice的配置文件web.config的system.web節(jié)點(diǎn)添加如下代碼 <webServices> <protocols> <add name="HttpPost"/> <add name="HttpGet"/> </protocols> </webServices>2、asp代碼 dim url...
固安縣機(jī)械: ______ Web Service主要是為了使原來各孤立的站點(diǎn)之間的信息能夠相互通信、共享而提出的一種接口. Web Service所使用的是Internet上統(tǒng)一、開放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡(jiǎn)單對(duì)象訪問協(xié)議)、WSDL等,所以Web Service可以在任何支...
固安縣機(jī)械: ______ 先啟動(dòng)tomcat 然后通過訪問到tomcat的主頁(yè),上面可以上傳你的web項(xiàng)目,長(zhǎng)傳后點(diǎn)擊開始就可以了. 還有一種就是直接將項(xiàng)目解壓到tomcat文件目錄文件夾下面,啟動(dòng)tomcat就可以訪問了
固安縣機(jī)械: ______ webservice 發(fā)展了好久了,有好多種客戶端部署調(diào)用方式 ,流程大致是先創(chuàng)建服務(wù),再調(diào)用.下面的代碼是創(chuàng)建一個(gè)簡(jiǎn)單的Webservice服務(wù).server.php<?php require_once "lib/nusoap.php"; function webserver() { return "This is a Webservice ...
固安縣機(jī)械: ______ 在解決方案中右擊有個(gè)添加引用服務(wù),彈一個(gè)也沒把你想要引用的webservice發(fā)布路徑(網(wǎng)址)填寫在哪里,點(diǎn)擊前往,如果能正常連接會(huì)顯示你所引用的webservice所提供的接口,或者方法.
固安縣機(jī)械: ______ 1.添加web引用,把WebService引到當(dāng)前的工程里面. 在資源管理器中點(diǎn)擊右鍵,選擇添加Web 引用,調(diào)出對(duì)話框,在URL中填入WebService發(fā)布后的訪問地址 ,點(diǎn)擊"前往"按鈕,然后點(diǎn)擊"添加引用",就將webservice引用到了當(dāng)前的工程里面 . 2. 找到調(diào)用編前會(huì)接口函數(shù)方法//添加所調(diào)用的的Web服務(wù)的接口地址 (見下) var URL = "htt p:/ /NewsService.asmx?op=SendManuscript"; 調(diào)用webservice的方法都是差不多的,自己多動(dòng)手試試
固安縣機(jī)械: ______ 文件,將AJAX的組件添加到工具箱,工具箱上會(huì)顯示一條AJAX的控件選項(xiàng),添加AJAX控件里面的SCRIPTMANAGER控件到頁(yè)面,這些是必須的前提;然后有兩種方法可以使用JAVASCRIPT異步調(diào)用服務(wù)器:<br>1.WEBSERVICE方法:新...
固安縣機(jī)械: ______ 在要調(diào)用的項(xiàng)目下的引用中,右單擊,選擇“添加服務(wù)引用...”在彈出的的對(duì)話框中填寫webservice地址,下方命名空間改成你想要的,然后確定就行了.調(diào)用的時(shí)候:ns.ClassName ws = new ns.className(); string s = ws.HelloWorld(); ns是你剛填的命名空間, className是對(duì)應(yīng)的webservice生成的類
固安縣機(jī)械: ______ 一、WebService在cs后臺(tái)程序中的調(diào)用 <br> A、通過命名空間和類名直接調(diào)用 <br> 示例: <br><br> WebService ws = new WebService(); <br> string s = ws.HelloWorld(); B、通過添加WEB引用的方式調(diào)用,首先添加WEB引用,通過URL指向...
固安縣機(jī)械: ______ 使用VS里面的命令提示訪問你的Service 會(huì)生成一個(gè)配置文件和一個(gè)類,把這個(gè)兩個(gè)文件復(fù)制到你的工程里面,就可以調(diào)用其中的方法.