⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servicesandobjs.aspx

📁 书籍教程 >> .Net教程 >> asp.net编程精彩百例
💻 ASPX
字号:
<%@ Register TagPrefix="Acme" Namespace="Acme" Assembly="QSTools" %>
<%@ Register TagPrefix="Acme" TagName="SourceRef" Src="/quickstart/aspplus/util/SrcRef.ascx"%>

<!-- #include virtual="/quickstart/aspplus/include/header.inc" -->

<h4>使用对象和内部对象</h4>
本示例阐释如何访问 ASP.NET 内部对象,如 <b>Session</b> 和 <b>Application</b> 对象。本例还说明如何在每个 [WebMethod] 的基础上关闭 <b>Session</b>。
<p>
示例 .asmx 文件中的第一个方法是 <B>UpdateHitCounter</B>,它访问 <b>Session</b> 并在“HitCounter”值上加 1,然后以字符串形式返回该值。第二个方法是 <B>UpdateAppCounter</B>,它完成与第一个方法相同的工作,不过访问的是 <b>Application</b>。注意下列内容:

<p>
<Acme:TabControl runat="server">
<Tab Name="C#">
[WebMethod(EnableSession=true)]
</Tab>

<Tab Name="VB">
&lt;WebMethod(EnableSession:=true)&gt;
</Tab>

<Tab Name="JScript">
&lt;WebMethodAttribute(true)&gt;
</Tab>

</Acme:TabControl><div class="code"><pre>
</pre></div>
<p>

默认情况下禁用 XML Web 服务的会话状态,因此必须使用特殊的特性属性来启用 <b>Sessions</b>。然而,此对象并不需要 <b>Sessions</b>,因为它仅使用 <b>Application</b> 对象。
<p>

<table>
<tr>
<td>
<Acme:LangSwitch runat="server">
  <CsTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/CS/SessionService1.asmx"
  ViewSource="/quickstart/aspplus/samples/services/Intrinsics/SessionService1.src"
  Icon="/quickstart/aspplus/images/sessionservice_asmx.gif"
  Caption="C# SessionService.asmx"
  runat="server" />
  </CsTemplate>
  <VbTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/VB/SessionService1.asmx"
  ViewSource="/quickstart/aspplus/samples/services/Intrinsics/SessionService1.src"
  Icon="/quickstart/aspplus/images/sessionservice_asmx.gif"
  Caption="VB SessionService.asmx"
  runat="server" />
  </VbTemplate>
  <JsTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/JS/SessionService1.asmx"
  ViewSource="/quickstart/aspplus/samples/services/Intrinsics/SessionService1.src"
  Icon="/quickstart/aspplus/images/sessionservice_asmx.gif"
  Caption="JScript SessionService.asmx"
  runat="server" />
  </JsTemplate>
</Acme:LangSwitch>
</td>
<td>
<Acme:LangSwitch runat="server">
  <CsTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/CS/SessionService1.asmx?WSDL"
  Icon="/quickstart/aspplus/images/service_sdl.gif"
  Caption="C# SessionService.asmx?wsdl"
  runat="server" />
  </CsTemplate>
  <VbTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/VB/SessionService1.asmx?WSDL"
  Icon="/quickstart/aspplus/images/service_sdl.gif"
  Caption="VB SessionService.asmx?wsdl"
  runat="server" />
  </VbTemplate>
  <JsTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/JS/SessionService1.asmx?WSDL"
  Icon="/quickstart/aspplus/images/service_sdl.gif"
  Caption="JScript SessionService.asmx?wsdl"
  runat="server" />
  </JsTemplate>
</Acme:LangSwitch>
</td>
</tr>
</table>

<p>
当访问客户端代理时,它包含一个 Cookie 集合。此集合用于接受和返回 ASP.NET 用来跟踪会话的 APSESSIONID Cookie。正是它使此客户端得以接收 <b>Sessions</b> 点击方法的不同答案。
<p>

<Acme:LangSwitch runat="server">
  <CsTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/CS/SessionService1Client.aspx"
  ViewSource="/quickstart/aspplus/samples/services/Intrinsics/SessionService1Client.src"
  Icon="/quickstart/aspplus/images/sessionservice_client.gif"
  Caption="C# SessionServiceClient.aspx"
  runat="server" />
  </CsTemplate>
  <VbTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/VB/SessionService1Client.aspx"
  ViewSource="/quickstart/aspplus/samples/services/Intrinsics/SessionService1Client.src"
  Icon="/quickstart/aspplus/images/sessionservice_client.gif"
  Caption="VB SessionServiceClient.aspx"
  runat="server" />
  </VbTemplate>
  <JsTemplate>
<Acme:SourceRef
  RunSample="/quickstart/aspplus/samples/services/Intrinsics/JS/SessionService1Client.aspx"
  ViewSource="/quickstart/aspplus/samples/services/Intrinsics/SessionService1Client.src"
  Icon="/quickstart/aspplus/images/sessionservice_client.gif"
  Caption="JScript SessionServiceClient.aspx"
  runat="server" />
  </JsTemplate>
</Acme:LangSwitch>

<!-- #include virtual="/quickstart/aspplus/include/footer.inc" -->

⌨️ 快捷键说明

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