0

Web 服务可以使用我在项目中拥有的其他类,还是应该是独立的并且只使用它自己的方法?

谢谢 !

4

3 回答 3

1

您可以创建其他类的实例并使用它们来执行工作。

同一项目或引用项目中的任何类都应该可用,但须遵守通常的访问修饰符。

您要么需要包含 using 语句。以下示例假设您要使用SomeClass位于MyAssembly.SomeLibrary:-

using MyAssembly.SomeLibrary;


// in code block somewhere
var thing = new SomeClass();

或完全限定类的名称。

   var thing = new MyAssembly.SomeLibrary.SomeClass();
于 2013-02-25T08:54:35.743 回答
1

Web 服务是否可以使用我在项目中拥有的其他类?

是的,它可以。您还可以在序列化后返回您的自定义类对象。您会看到 web 服务仅(内部)与原始类型交互,这是非常不寻常的。

于 2013-02-25T08:54:40.983 回答
1

听起来您是在询问最佳实践,而不是“这在技术上是否可行”。答案取决于您想使用的类,但一般来说,在 Web 服务中使用您想要的任何其他类或库是可以接受的,因为这不会影响客户端能够使用该服务(即在服务端并不意味着客户端 1 也必须安装 LibraryA 才能使用您的服务)。

可以在服务端重用这些类(在 Visual Studio 中,这是通过在配置服务引用时勾选“在引用的程序集中重用类型”框然后添加对适当项目/dll 的引用来完成的),但我通常会建议不要这样做,因为它可能会混淆问题 - 并非所有客户端在使用您的服务时都可以访问这些 dll。

于 2013-02-25T09:05:10.370 回答