将Web服务逻辑封装到其他cs类中

时间:2011-08-20 02:03:59

标签: asp.net web-services design-patterns

我曾经在内部使用带有Web服务(.asmx文件)的asp.net Web应用程序 Web服务实际上包含逻辑,例如:

[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;
    }
}

现在我希望在asp.net Web应用程序中重新创建.asmx文件,但现在我希望它使用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 :(得分:0)

不,除了手动连接之外,没有办法将Some.cs方法“连接”到Web服务 你这样做的方式很好。