Может ли класс веб-сервиса наследовать класс страницы asp.net - PullRequest
0 голосов
/ 06 января 2011

У меня есть приложение, состоящее из двух проектов asp.net.И у меня есть BasePage, который наследует System.Web.UI.Page и у класса есть некоторая базовая логика, которая мне нужна на всех моих страницах (реализовано в BasePage.cs).Так что все мои страницы наследуют это BasePage.cs.Теперь веб-сервис может наследовать тот же класс, кроме обычного класса веб-сервиса System.Web.Services.WebService

Ответы [ 4 ]

2 голосов
/ 06 января 2011

Любая логика, которая может использоваться как веб-страницей, так и веб-службой, должна быть в отдельном классе, который может использоваться обоими. Такая логика не должна зависеть от того, является ли она частью пользовательского интерфейса.

Поместите его в статический класс и пусть и сервис, и страницы используют его.

2 голосов
/ 06 января 2011

Множественное наследование не поддерживается в .NET Framework.И даже если бы это было так, такую ​​реализацию вряд ли можно назвать хорошей практикой.

Все методы, вызываемые как веб-страницами, так и страницами веб-сервиса, должны быть помещены в дополнительные классы.

0 голосов
/ 06 января 2011

Обычно каждая веб-страница asp.net наследует "System.Web.UI.Page".Но в вашем случае у вас есть базовый класс, который наследует «System.Web.UI.Page», тогда вы используете этот базовый класс для всех веб-страниц asp.net.Базовый класс веб-службы - «System.Web.Services.WebService», поэтому всякий раз, когда вы используете веб-службу, вы должны наследовать класс этой веб-службы.Вы не можете использовать свой базовый класс (BasePage.cs) для своего веб-сервиса.

0 голосов
/ 06 января 2011

Представления и сервисы должны быть полностью разделены. Сервисы не должны ничего знать о страницах. Я бы сказал, что вы не должны, если можете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...