WebService fails inside ASP 2.0 website

G

Guest

In my ASP.Net 2.0 website I defined base page type in web config as follows:
<pages MaintainScrollPositionOnPostback="true" pageBaseType="base_Page" />
It all works fine for the pages.

Now I am adding webservices to the site - I use the same business objects
and authentication/authorization.

The code behind the webservice is trivial:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class MyService : System.Web.Services.WebService
{}

The problem is that when webservice is initiated, the compiler is trying to
inherit my webservice from base_Page class - and obviously fails with the
following error:
"The MaintainScrollPositionOnPostback page directive cannot be set without
an htmlform."

The whole website compiles without any errors - I only receive this error
when I attempt to call the service...

How can I prevent my asmx webservice to attempt inheriting from base_Page
which inherits from System.Web.UI.Page - as I specifically defined my
webservice type????

Any help is greatly appreciated.
 
T

Teemu Keiski

Hi,

issue occurs when you try to open the asmx in web browser since it is the
test page which asp.net runs behind the scenes, it does not have server-side
form only but when you use HTTP POST with the test form

You'll find the file which is run by ASP.NET by looking at
DefaultWsdlHelpGenerator.aspx on
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG

Simple way to get past this is to set MaintainScrollPositionOnPostBack on
page directives directly.
 
G

Guest

Thank you Teemu - it was it - it also occurs when I try to (web) reference
the service from another project.
As per your other post, I had to remove page-specific code from the site
web.config - and them I could reference the service.

Teemu Keiski said:
Hi,

issue occurs when you try to open the asmx in web browser since it is the
test page which asp.net runs behind the scenes, it does not have server-side
form only but when you use HTTP POST with the test form

You'll find the file which is run by ASP.NET by looking at
DefaultWsdlHelpGenerator.aspx on
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG

Simple way to get past this is to set MaintainScrollPositionOnPostBack on
page directives directly.

--
Teemu Keiski
AspInsider, ASP.NET MVP
http://blogs.aspadvice.com/joteke
http://teemukeiski.net


Sergey Poberezovskiy said:
In my ASP.Net 2.0 website I defined base page type in web config as
follows:
<pages MaintainScrollPositionOnPostback="true" pageBaseType="base_Page" />
It all works fine for the pages.

Now I am adding webservices to the site - I use the same business objects
and authentication/authorization.

The code behind the webservice is trivial:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class MyService : System.Web.Services.WebService
{}

The problem is that when webservice is initiated, the compiler is trying
to
inherit my webservice from base_Page class - and obviously fails with the
following error:
"The MaintainScrollPositionOnPostback page directive cannot be set without
an htmlform."

The whole website compiles without any errors - I only receive this error
when I attempt to call the service...

How can I prevent my asmx webservice to attempt inheriting from base_Page
which inherits from System.Web.UI.Page - as I specifically defined my
webservice type????

Any help is greatly appreciated.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top