Я создаю веб-сервис для разных клиентов. Поэтому у меня есть 3 класса для 3-х различных типов клиентов:Как создать шаблон C# с различными атрибутами
Тип 1:
[WebMethod]
[SoapRpcMethod(Use = System.Web.Services.Description.SoapBindingUse.Literal)]
public string databaseConnectionInfo()
{
return WSExecute.Executer.databaseConnectionInfo(System.Web.HttpContext.Current);
}
Тип 2:
[WebMethod]
public string databaseConnectionInfo()
{
return WSExecute.Executer.databaseConnectionInfo(System.Web.HttpContext.Current);
}
Тип 3:
[WebMethod]
public XmlDocument databaseConnectionInfo()
{
return this.convert(WSExecute.Executer.databaseConnectionInfo(System.Web.HttpContext.Current));
}
Как вы можете видеть функции почти одинаковы - все они называют один и тот же рабочий класс, за исключением того, что они различны в attirbutes (Type1 vs. Type2) или называют один dditional функция, которая только преобразует строку в XMLDocument.
ВОПРОС: Как C# или Visual Studio помогут мне создать какой-то шаблон или что-то для этого. Проблема, с которой я столкнулся, заключается в том, что будет более 100 функций, и интерфейс будет управляться разными программистами, которые не все хорошо в C#. Таким образом, они забудут написать «тот же» код в трех разных классах/источниках :(
Кто-нибудь знает, как решить проблему Type1 по сравнению с Type2 (забудьте о типе 3). Type1 и 2 действительно являются одним и тем же источником, кроме: 1. имя класса отличается 2. Каждая функция в Type1 имеет дополнительный атрибут SoapRpcMethod
Сейчас я решить это с помощью предварительно процессор (моя собственная программа), которая производит 3 источника с 1 источника, а затем позвонить C# компилятор работает, но это неудобно и трудно понять для кого-то, не знакомого с программированием на C#. Веб-служба используется для доступа к серверам Oracle, поэтому веб-сервис C# - это только фасад, и в веб-службе не существует только логики приложений PL/S QL процедуры и т.д. C# Web Service управляется Oracle Программисты не знакомы с Windows/C# ...
ТИА Matjaz
Спасибо за ваш ответ, но проблема в том, что они должны написать ОДНУЮ строку кода в трех разных классах. Я использовал все шаблоны, которые я могу, и это живет мной с 1-строчной предварительной функцией. Но эта строка должна быть записана в три разных класса, которые производят три разных веб-сервиса для трех разных типов клиентов. Все почти то же самое, кроме атрибутов функций в каждом классе – Matjaz