2012-02-29 102 views
2

我正在创建一个具有150多种不同功能的Web服务。我希望能够将Web服务分成不同的类别:用户,帐户和内容。有没有办法让我在做同样的服务的同时呢?我知道我可以创建3个不同的asmx服务,但是如果我可以在C#中执行像Services.User.MyFunction()之类的操作,并且在javascript ajax中执行类似操作,我会希望它。ASP.Net Web服务,它可以嵌套吗?

+0

好了,我最初想这些所有相同的URL下,这样的JavaScript网址都会起源来自同一个地方......但并不想要一个包含150多个函数的文件,因为它在服务器端不太可维护。所以要在两个方面都取得胜利,我认为生病会造成部分班级。这样我可以根据他们做的功能将这些功能分解为单个文件,并通过javascript端保留简单的'Services.asmx/func'url表示法。 – Zholen 2012-02-29 19:56:46

回答

3

不,你可以有一个巨大的服务或许多较小的服务。但是,您可以使用URL Rewrite来允许地址Services/User/MyFunction执行Services.MyFunction()方法。

这样说,我会建议将服务分成多个服务。

+0

我也在考虑重写,但WSDL将是一样的 – 2012-02-29 19:21:23

+0

Javascript不关心你的WSDL。此外,您仍然可以从原始URL访问您的服务和WSDL。 – jrummell 2012-02-29 19:42:11

+0

是的,但其他客户端使用WSDL来生成代理类。 – 2012-02-29 20:07:03

0

我不相信你能做到这一点我害怕。

我认为你唯一的选择是把它分成不同的asmx页面。 WebService基类有助于向每个WebMethods添加特定的WebMethods吗?

0

你必须做出JSON,产生不同的结果到一个JSON result..having不同类别&成员数据