0

我希望将现有的 .NET 库公开给 Intranet。

随着许多人转向 RESTful 服务,OpenRasta看起来很诱人。同样,我在 IronRuby 中玩 Sinatra

我主要寻找 3 点:
1)您使用什么将现有的代码库暴露给网络?
2) 你的方法怎样使它易于实施
3) 你的方法怎样使它安全?

4

2 回答 2

3

我认为,如果您的图书馆没有设计为暴露在互联网上,那么这样做是个坏主意。

此外,如果您的库不处理在 HTTP 意义上作为资源有意义的事物,那么使用 REST 接口公开它们不是一个好主意。


回应评论,“为什么?”

我假设它是一个设计良好的库。我假设您在设计库时已经考虑了某些要求;某些用例和场景;您甚至可能已经编写了使用该库的示例,只是为了确保它易于使用。结果,该库满足了所有这些要求,并且可以称为设计良好。

但是您似乎没有在您的要求或用例中包含“暴露于 Internet”。您似乎也没有包含“通过 REST 接口公开”。为满足一组要求而精心设计的库很可能不会为满足另外两个要求而精心设计,除非是偶然的。

REST 方面尤其如此。库公开的对象不太可能满足 REST 所基于的“资源”的 HTTP 定义。试图将它们扭曲成正确的形状只会很痛苦。

我的建议是收集一组新的需求,以将您的库的功能公开为一组精心设计的服务。这些服务将通过调用您的库来实现。

在理想情况下,此过程将产生一个与您最初设计的完全一样的 REST API。但它可能会导致一些完全不同的东西。

于 2009-07-15T16:59:23.660 回答
2

我个人使用 WCF 来公开我的 .NET 库。它支持许多不同的传输协议和绑定。我相信您会找到适合您需求的。它还允许您实施安全通信。

于 2009-07-15T16:56:05.710 回答