使一个类成为一个完整的Web服务

时间:2010-09-11 18:53:12

标签: c# web-services asmx webmethod

我没有使用Visual Studio 2010.我有一个类文件,我将其标记为web方法。 我能够使用C#编译器编译它,目标是.NET 3.5框架。

如何将其设为网络服务?有什么想法吗?

3 个答案:

答案 0 :(得分:1)

总的来说,这是一个坏主意。

Web服务通常设计为以面向服务的方式运行。它希望通过网络进行调用,并考虑到这一点。

一个类通常被设计为在与其方法的调用者相同的过程中操作。例如,调用类的方法通常很便宜,因此使用许多细粒度方法设计类是有意义的。调用Web服务通常更昂贵,因为调用通常会通过网络进行。使用更少的,粗粒度的方法设计服务更有意义。

Web服务通常应设计为无状态。一般来说,一个类可以维持状态。一个例子是代表银行账户的类。对于这样的类来说,保持帐户余额的总计,并在调用Deposit和Withdraw方法时更改该总计是完全合理的。但是,您不希望为网络上的每笔交易调用存款和提款。相反,您可以向服务发送一个Transaction对象列表,每个对象代表一个Deposit或Withdrawal。您可以通过一次操作将列表发送到服务,而不是多次通过网络进行呼叫。

答案 1 :(得分:0)

首先,确保您的类继承自WebService。然后将新的WebService ASMX文件/类添加到项目中。让新类继承您的主类。您;然后可以通过URL访问新的Web服务。例如,http://example.com/WebService.asmx

答案 2 :(得分:0)

通常,将WebService用作Web项目时会自动配置WebService。对于普通类库,最好使用WCF类并使用OperationContract标记该类。

在WCF的情况下,配置类库也非常容易。