Vra

My webservice konstruktor is om genoem elke keer wat ek noem 'n webmethod. Dit veroorsaak 'n paar probleme met 'n paar nuwe funksies wat ek te voeg en ek kan nie uitvind wat ek verkeerd gaan doen om hierdie veroorsaak. Die enigste plek wat ek newing die webservice is in global.asax.cs se Application_Start, maar as ek die kode te verwyder om die webservice new, dit doen 'n beroep steeds die konstruktor elke keer wat ek noem 'n webmethod.

Ek het hierdie toets deur te blaai om die .asmx lêer en die roeping van die webmethod se dat die pad en ek het ook 'n toets konsole aansoek dat 'n verwysing na die webservice het en sal die metodes wat weg bel. Beide van hierdie gee dieselfde resultate.

Ek gebruik c # in ASP.NET 1.1. Enige idees?

Edit:
Ek probeer om 'n hartklop draad wat stembusse 'n Windows diens te skep. Ek probeer om die resultaat in 'n hash tafel (verskeie drade stemdag verskeie dienste) te red. Ek het die webmethod verander (as dit gebruik word om die vensters diens poll) om die resultate van die hashtable kry. Ons probeer om die spoed van hierdie webmethod oproep te verhoog.

Was dit nuttig?

Oplossing

Wanneer jy 'n web metode noem, 'n nuwe geval van die web diens is geskep - dit is die bedoeling gedrag. Web dienste is staatlose, wat beteken dat 'n geval van die diens nie lewendig tussen web metode oproepe gehou word, en dus kan jy nie 'n staat te stoor in lede (velde, eienskappe) van die web diens.

As jy wil 'n paar waardes red / staat tussen web metode noem, moet jy die ASP.NET sessie of 'n databasis vir daardie doel gebruik.

Sien hierdie vraag vir details: Is dit veronderstel om op hierdie manier te werk

Ander wenke

Fout ... hierdie is 'n soort van deur ontwerp ek is bang. Kan jy die probleme wat jy kry en hoe jy probeer om Daarvoor moet beskryf, ek dink jy nodig het om jou ontwerp 'n bietjie hier refactor.

Jy kan ook skakel na WCF wat Stateful dienste ondersteun

scroll top