<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Why do ASP.NET AJAX page methods have to be static?</title>
	<atom:link href="http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/feed/" rel="self" type="application/rss+xml" />
	<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/</link>
	<description>ASP.NET and AJAX code, ideas, and examples.</description>
	<lastBuildDate>Sat, 13 Mar 2010 18:20:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jitendra</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-38249</link>
		<dc:creator>Jitendra</dc:creator>
		<pubDate>Thu, 11 Mar 2010 12:59:46 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-38249</guid>
		<description>i read awesome article, and i found it learn able much ... thank u dave sir</description>
		<content:encoded><![CDATA[<p>i read awesome article, and i found it learn able much &#8230; thank u dave sir</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kerminator</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-38217</link>
		<dc:creator>Kerminator</dc:creator>
		<pubDate>Thu, 04 Mar 2010 22:24:26 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-38217</guid>
		<description>OK.  I&#039;m going to stick with the page method approach for my particular scenario, since it will be code that I dont anticipate wanting to call from anywhere other than the website in which it resides.

Thanks again.  Your blog is definitely on my greatest hits list.</description>
		<content:encoded><![CDATA[<p>OK.  I&#8217;m going to stick with the page method approach for my particular scenario, since it will be code that I dont anticipate wanting to call from anywhere other than the website in which it resides.</p>
<p>Thanks again.  Your blog is definitely on my greatest hits list.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Ward</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-38216</link>
		<dc:creator>Dave Ward</dc:creator>
		<pubDate>Thu, 04 Mar 2010 22:08:00 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-38216</guid>
		<description>No problem.  Happy to help.

The HttpContext/Session is available in standalone services too.  You just need to add EnableSession=true in the [WebMethod] attribute:

&lt;pre lang=&quot;csharp&quot;&gt;[WebMethod(EnableSession=true)]
public string HelloWorld()
{
  return &quot;Hello, &quot; + HttpContext.Current.Session[&quot;Name&quot;];
}&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>No problem.  Happy to help.</p>
<p>The HttpContext/Session is available in standalone services too.  You just need to add EnableSession=true in the [WebMethod] attribute:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #000000;">&#91;</span>WebMethod<span style="color: #000000;">&#40;</span>EnableSession<span style="color: #008000;">=</span><span style="color: #0600FF;">true</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
<span style="color: #0600FF;">public</span> <span style="color: #FF0000;">string</span> HelloWorld<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
  <span style="color: #0600FF;">return</span> <span style="color: #666666;">&quot;Hello, &quot;</span> <span style="color: #008000;">+</span> HttpContext.<span style="color: #0000FF;">Current</span>.<span style="color: #0000FF;">Session</span><span style="color: #000000;">&#91;</span><span style="color: #666666;">&quot;Name&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

]]></content:encoded>
	</item>
	<item>
		<title>By: Kerminator</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-38215</link>
		<dc:creator>Kerminator</dc:creator>
		<pubDate>Thu, 04 Mar 2010 21:02:53 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-38215</guid>
		<description>Dave,

Excellent, you made my day!  I&#039;m going to plunge forward with the web methods then...

A megabyte of thank you&#039;s for your input.

Kerminator

Just an afterthought - that session variable existence approach would not work in a web service, would it?</description>
		<content:encoded><![CDATA[<p>Dave,</p>
<p>Excellent, you made my day!  I&#8217;m going to plunge forward with the web methods then&#8230;</p>
<p>A megabyte of thank you&#8217;s for your input.</p>
<p>Kerminator</p>
<p>Just an afterthought &#8211; that session variable existence approach would not work in a web service, would it?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Ward</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-38214</link>
		<dc:creator>Dave Ward</dc:creator>
		<pubDate>Thu, 04 Mar 2010 20:42:22 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-38214</guid>
		<description>That&#039;s right.  You&#039;ll have full access to the HttpContext during those AJAX callbacks, including the Session.

You&#039;ll need to reference the Session explicitly though, since there&#039;s no Page instance to shortcut it for you.  HttpContext.Current.Session.

Similarly, you can use HttpContext.Current.Response.StatusCode to respond to unauthorized requests with the correct HTTP status code (401 or 403, probably).</description>
		<content:encoded><![CDATA[<p>That&#8217;s right.  You&#8217;ll have full access to the HttpContext during those AJAX callbacks, including the Session.</p>
<p>You&#8217;ll need to reference the Session explicitly though, since there&#8217;s no Page instance to shortcut it for you.  HttpContext.Current.Session.</p>
<p>Similarly, you can use HttpContext.Current.Response.StatusCode to respond to unauthorized requests with the correct HTTP status code (401 or 403, probably).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kerminator</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-38213</link>
		<dc:creator>Kerminator</dc:creator>
		<pubDate>Thu, 04 Mar 2010 20:36:29 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-38213</guid>
		<description>I think our website uses anonymous Windows authentication (I know very little about that end of things...).  

However, our website has its own homegrown login/pw mechanism which, when successfully completed, places a customer number into a session variable.  Could I not check for the existence of that session variable in my web method and if it isnt there, return a negative response of some sort and not do the SQL table add that the method was designed to do?  So while not keeping intruders from calling the web method, it would prevent them from doing any damage.

Sorry if I sound like a dufus, but this Ajax/webservice/webmethod paradigm is all new to me.</description>
		<content:encoded><![CDATA[<p>I think our website uses anonymous Windows authentication (I know very little about that end of things&#8230;).  </p>
<p>However, our website has its own homegrown login/pw mechanism which, when successfully completed, places a customer number into a session variable.  Could I not check for the existence of that session variable in my web method and if it isnt there, return a negative response of some sort and not do the SQL table add that the method was designed to do?  So while not keeping intruders from calling the web method, it would prevent them from doing any damage.</p>
<p>Sorry if I sound like a dufus, but this Ajax/webservice/webmethod paradigm is all new to me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Ward</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-38212</link>
		<dc:creator>Dave Ward</dc:creator>
		<pubDate>Thu, 04 Mar 2010 19:18:21 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-38212</guid>
		<description>To my knowledge, page methods are as exposed as any ASMX service.  However, you can control access to either of them with the standard ASP.NET authorization facilities (e.g. Forms Authentication, Windows Authentication, etc).  Using that, you can insure only users that are logged into your application can access the services.</description>
		<content:encoded><![CDATA[<p>To my knowledge, page methods are as exposed as any ASMX service.  However, you can control access to either of them with the standard ASP.NET authorization facilities (e.g. Forms Authentication, Windows Authentication, etc).  Using that, you can insure only users that are logged into your application can access the services.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kerminator</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-38210</link>
		<dc:creator>Kerminator</dc:creator>
		<pubDate>Thu, 04 Mar 2010 15:24:18 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-38210</guid>
		<description>Not surprisingly, I dont want anyone other than my own company&#039;s applications calling our web services.  Some of our proposed web services will add records to SQL tables.  There&#039;s no SS#s or credit card numbers or the like involved, so encryption is not needed.  I just dont want someone else calling the web services.

Do static web methods have an advantage from that perspective?  Is there existence not exposed to the world like a web service is?</description>
		<content:encoded><![CDATA[<p>Not surprisingly, I dont want anyone other than my own company&#8217;s applications calling our web services.  Some of our proposed web services will add records to SQL tables.  There&#8217;s no SS#s or credit card numbers or the like involved, so encryption is not needed.  I just dont want someone else calling the web services.</p>
<p>Do static web methods have an advantage from that perspective?  Is there existence not exposed to the world like a web service is?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Ward</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-37604</link>
		<dc:creator>Dave Ward</dc:creator>
		<pubDate>Thu, 17 Dec 2009 14:54:35 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-37604</guid>
		<description>Your testing is correct.  The reason you aren&#039;t seeing a &quot;shared&quot; behavior across sessions is that each Page instance only exists within the scope of a single HTTP request and then is destroyed.</description>
		<content:encoded><![CDATA[<p>Your testing is correct.  The reason you aren&#8217;t seeing a &#8220;shared&#8221; behavior across sessions is that each Page instance only exists within the scope of a single HTTP request and then is destroyed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Egon</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-37602</link>
		<dc:creator>Egon</dc:creator>
		<pubDate>Thu, 17 Dec 2009 06:37:42 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-37602</guid>
		<description>Hi Dave,

I&#039;m a little worried about the use of Static methods. In a multi-user environment (i.e. just about any web application), I thought that maybe each call to the method would be shared between all users, including any internally declared variables. To test, I created the following:

&lt;pre lang=&quot;csharp&quot;&gt;
    [WebMethod(true)]
    public static string WebMethod(string passedString)
    {
      string localString = passedString;
      System.Threading.Thread.Sleep(5000);
      return localString;
    }
&lt;/pre&gt;

Called by:

&lt;pre lang=&quot;html&quot;&gt;
     
    Click here for the test.
&lt;/pre&gt;


&lt;pre lang=&quot;javascript&quot;&gt;
  $(&quot;#Result&quot;).click(function () {
    $.ajax({
      type: &quot;POST&quot;,
      url: &quot;Default.aspx/WebMethod&quot;,
      data: &quot;{&#039;passedString&#039; : &#039;&quot; + $(&#039;#textboxTest&#039;).val() + &quot;&#039;}&quot;,
      contentType: &quot;application/json; charset=utf-8&quot;,
      dataType: &quot;json&quot;,
      success: function (msg) {
        $(&quot;#Result&quot;).text(msg.d);
      }
    });
  });
&lt;/pre&gt;


I open up two browsers, one Chrome, the other Firefox, just to make sure. In the textbox in each browser, I typed the browser name for clarity.

To my pleasant surprise, when I clicked on each &quot;Result&quot; div within the 5 seconds of the first click, the text updated in each respective browser/session was as hoped, namely &quot;Chrome&quot; in Chrome and &quot;Firefox&quot; in Firefox.

I&#039;ve tested this to satisfy myself, but I was wondering if you could elaborate as to how this happens, and why the static WebMethod is not behaving like a static variable. OR, have I made a mistake in my testing, and not proved anything?</description>
		<content:encoded><![CDATA[<p>Hi Dave,</p>
<p>I&#8217;m a little worried about the use of Static methods. In a multi-user environment (i.e. just about any web application), I thought that maybe each call to the method would be shared between all users, including any internally declared variables. To test, I created the following:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">    <span style="color: #000000;">&#91;</span>WebMethod<span style="color: #000000;">&#40;</span><span style="color: #0600FF;">true</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
    <span style="color: #0600FF;">public</span> <span style="color: #0600FF;">static</span> <span style="color: #FF0000;">string</span> WebMethod<span style="color: #000000;">&#40;</span><span style="color: #FF0000;">string</span> passedString<span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
      <span style="color: #FF0000;">string</span> localString <span style="color: #008000;">=</span> passedString<span style="color: #008000;">;</span>
      <span style="color: #000000;">System.<span style="color: #0000FF;">Threading</span></span>.<span style="color: #0000FF;">Thread</span>.<span style="color: #0000FF;">Sleep</span><span style="color: #000000;">&#40;</span><span style="color: #FF0000;">5000</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
      <span style="color: #0600FF;">return</span> localString<span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span></pre></div></div>

<p>Called by:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&nbsp;
    Click here for the test.</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#Result&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $.<span style="color: #660066;">ajax</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
      type<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;POST&quot;</span><span style="color: #339933;">,</span>
      url<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Default.aspx/WebMethod&quot;</span><span style="color: #339933;">,</span>
      data<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;{'passedString' : '&quot;</span> <span style="color: #339933;">+</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#textboxTest'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">val</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;'}&quot;</span><span style="color: #339933;">,</span>
      contentType<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;application/json; charset=utf-8&quot;</span><span style="color: #339933;">,</span>
      dataType<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;json&quot;</span><span style="color: #339933;">,</span>
      success<span style="color: #339933;">:</span> <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #009900;">&#40;</span>msg<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#Result&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span>msg.<span style="color: #660066;">d</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>I open up two browsers, one Chrome, the other Firefox, just to make sure. In the textbox in each browser, I typed the browser name for clarity.</p>
<p>To my pleasant surprise, when I clicked on each &#8220;Result&#8221; div within the 5 seconds of the first click, the text updated in each respective browser/session was as hoped, namely &#8220;Chrome&#8221; in Chrome and &#8220;Firefox&#8221; in Firefox.</p>
<p>I&#8217;ve tested this to satisfy myself, but I was wondering if you could elaborate as to how this happens, and why the static WebMethod is not behaving like a static variable. OR, have I made a mistake in my testing, and not proved anything?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amodi</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-36339</link>
		<dc:creator>Amodi</dc:creator>
		<pubDate>Thu, 27 Aug 2009 11:10:17 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-36339</guid>
		<description>Great article Dave!</description>
		<content:encoded><![CDATA[<p>Great article Dave!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Me, myself and I</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-36275</link>
		<dc:creator>Me, myself and I</dc:creator>
		<pubDate>Wed, 19 Aug 2009 08:02:11 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-36275</guid>
		<description>Let me see if I got it: web methods have to be static because MS decided on a stupid implementation for server-side state serialization, right?

What I mean: of course the meanest and leanest web apps are the ones which do not keep state on the server, whether they are written in Java, ASP.Net, PHP or whatever. But there are apps which cannot be reasonably implemented without keeping state information on the server. However, ASP.Net does not provide a solution for such apps. ViewState provides a workaround, but isn&#039;t really a solution for such apps. Why? Because if your state information is large, serialization and deserialization from ViewState is going to take a lot of time, enough so that your application is slow.

The only solution to developing fast, responsive, really web2 apps using ASP.Net is giving up server controls altogether, use a client-side only Javascript-based Ajax toolkit/framework and work with web services/web methods alone. Which of course have to be session/view state-unaware. But since MS does not provide such a toolkit integrated in ASP.Net, doing so is not quite happy coding. Until you get your toolkit of choice properly interfaced with an ASP.Net backend, it&#039;s not really happy coding.

Web Methods do have an advantage over web services, though: they&#039;re significantly easier and simpler to implement. However, they also have a drawback: if you don&#039;t use them from ASP.Net, it&#039;s not really easy to call them. But then again, JSON-based Web Services implemented using ASP.Net are also not quite straightforward to call from non-ASP.Net code.

IMO, web methods are always the better choice when you implement functionality which is not reusable. You implement web services whenever there&#039;s a chance some other code than the one for which you write your web service will be able to make use of your web service. Whenever you need just a more or less calculation which needs to be performed server-side, but which is pertinent just to the form from which you call that code, a web service is just unnecesarily polluting the global namespace of web services exposed by an application/server/enterprise infrastructure.</description>
		<content:encoded><![CDATA[<p>Let me see if I got it: web methods have to be static because MS decided on a stupid implementation for server-side state serialization, right?</p>
<p>What I mean: of course the meanest and leanest web apps are the ones which do not keep state on the server, whether they are written in Java, ASP.Net, PHP or whatever. But there are apps which cannot be reasonably implemented without keeping state information on the server. However, ASP.Net does not provide a solution for such apps. ViewState provides a workaround, but isn&#8217;t really a solution for such apps. Why? Because if your state information is large, serialization and deserialization from ViewState is going to take a lot of time, enough so that your application is slow.</p>
<p>The only solution to developing fast, responsive, really web2 apps using ASP.Net is giving up server controls altogether, use a client-side only Javascript-based Ajax toolkit/framework and work with web services/web methods alone. Which of course have to be session/view state-unaware. But since MS does not provide such a toolkit integrated in ASP.Net, doing so is not quite happy coding. Until you get your toolkit of choice properly interfaced with an ASP.Net backend, it&#8217;s not really happy coding.</p>
<p>Web Methods do have an advantage over web services, though: they&#8217;re significantly easier and simpler to implement. However, they also have a drawback: if you don&#8217;t use them from ASP.Net, it&#8217;s not really easy to call them. But then again, JSON-based Web Services implemented using ASP.Net are also not quite straightforward to call from non-ASP.Net code.</p>
<p>IMO, web methods are always the better choice when you implement functionality which is not reusable. You implement web services whenever there&#8217;s a chance some other code than the one for which you write your web service will be able to make use of your web service. Whenever you need just a more or less calculation which needs to be performed server-side, but which is pertinent just to the form from which you call that code, a web service is just unnecesarily polluting the global namespace of web services exposed by an application/server/enterprise infrastructure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eli</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-35784</link>
		<dc:creator>Eli</dc:creator>
		<pubDate>Thu, 09 Jul 2009 16:38:27 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-35784</guid>
		<description>Great Article.
Saved me a lot of time..

A solution could be.. calling from the static PageMethods to external webservice project.
in this case you can use non static objects and method on the external ws.
You can also add &quot;ip security&quot; to the external ws.</description>
		<content:encoded><![CDATA[<p>Great Article.<br />
Saved me a lot of time..</p>
<p>A solution could be.. calling from the static PageMethods to external webservice project.<br />
in this case you can use non static objects and method on the external ws.<br />
You can also add &#8220;ip security&#8221; to the external ws.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pandincus</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-35764</link>
		<dc:creator>Pandincus</dc:creator>
		<pubDate>Wed, 08 Jul 2009 12:44:09 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-35764</guid>
		<description>Great article; thanks so much for taking the time to put this information together.</description>
		<content:encoded><![CDATA[<p>Great article; thanks so much for taking the time to put this information together.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Toth</title>
		<link>http://encosia.com/2008/04/16/why-do-aspnet-ajax-page-methods-have-to-be-static/#comment-35600</link>
		<dc:creator>Justin Toth</dc:creator>
		<pubDate>Thu, 18 Jun 2009 23:08:20 +0000</pubDate>
		<guid isPermaLink="false">http://encosia.com/?p=72#comment-35600</guid>
		<description>Interesting article.. Anthem.NET methods don&#039;t have to be static, that must mean that they transmit the viewstate.</description>
		<content:encoded><![CDATA[<p>Interesting article.. Anthem.NET methods don&#8217;t have to be static, that must mean that they transmit the viewstate.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
