инкапсулировать логику веб-сервиса в другой класс CS - PullRequest
1 голос
/ 20 августа 2011

Раньше у меня было веб-приложение asp.net с веб-сервисом (файл .asmx).
Веб-сервис фактически содержит логику, например:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class SomeService : WebService
{
    [WebMethod]
    public bool DoSomething(long id)
    {
        Repository rep = new Repository();
        Something fcs = rep.Get(m_User.CompanyId, id);
        return fcs.IsOk;
    }
}

Теперь я хочу поставитьлогический код в правильном проекте.Поэтому в проекте MyServices я создал файл Some.cs следующим образом:

public class Some
{
    public bool DoSomething(long id)
    {
        Repository rep = new Repository();
        Something fcs = rep.Get(m_User.CompanyId, id);
        return fcs.IsOk;
    }
}

Теперь я хочу воссоздать файл .asmx в веб-приложении asp.net, но теперь я хочу, чтобы он использовал методы в Some.cs.
Я знаю, что могу сделать что-то вроде этого:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class SomeService : WebService
{
    private Some m_Some;
    public SomeService() {
        m_Some=new Some();
    }

    [WebMethod]
    public bool DoSomething(long id)
    {
        return m_Some.DoSomething(id);
    }
}

Но у меня есть более 67 методов.Поэтому я хотел бы знать, есть ли способ «соединить» методы Some.cs со службой SomeService, чтобы служба использовала методы из Some.cs?

1 Ответ

0 голосов
/ 20 августа 2011

Нет, нет способа "подключить" методы Some.cs к веб-сервису, кроме как вручную подключить их.
То, как ты это делаешь, прекрасно.

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