我在 .net 中有一个用户界面,需要根据请求/回复/更新模型从服务器接收数据。唯一的限制是只能在服务器上使用 Java。

实现这一目标的最佳方法是什么?是通过在 Java 中创建 Web 服务然后在 .net 中访问它,还是应该创建 Java 代理并使用 IKM 在 .net 中转换它们?或者你有更好的想法吗?它可以基于 HTTP、使用直接套接字连接或任何中间件。

有帮助吗?

解决方案

我推荐网络服务路线。它提供了一个标准接口,将来可以被其他客户端平台使用。

.NET 客户端与 Java Web 服务交互得很好,但也存在一些问题。适用于 .NET 客户端的两种最佳技术是 Microsoft Web 服务增强 (WSE) 和 Windows Communication Foundation (WCF)。WSE 是一种较旧的技术,Microsoft 不再更新,但在 Visual Studio 2005 及更早版本中仍然可以很好地工作。我发现 WSE 在如何与基本服务交互方面更容易上手,但 WCF 对 WS-* 协议(安全性、信任等)有更多支持。如果您的需求是基本的并且仍在使用 Visual Studio 2005(.NET Framework 2 或更早版本),那么请选择 WSE。如果您喜欢前沿技术,或者您预计会有更高级的安全需求(听起来您不会),那么请选择 WCF。请注意,WSE 无法在 Visual Studio 2008 及更高版本中轻松运行,WCF 也无法在 Visual Studio 2005 及更早版本中运行。

采用 Web 服务路线意味着您将设计一个可重用的界面,并且在完成后将导致比大多数其他路线更加松散耦合的系统。缺点主要是性能:xml 序列化将比网络上的二进制慢,并且 Web 服务不能很好地处理大量数据。

其他提示

用Java编写webservice并在.net中访问它

使用标准类型的网络服务(例如SOAP 或 XML-RPC)是最好的,因为它不仅易于生产/使用,而且在其他语言中也很容易。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top