如何通过Web启用.NET库

时间:2009-07-15 16:31:02

标签: .net rest ironruby

我希望将现有的.NET库公开给内部网。

随着许多人转向RESTful服务,OpenRasta看起来很诱人。 与此类似,我正在玩Sinatra in IronRuby

我主要寻找3分:
1)您使用什么来将现有代码库暴露给Web? 2)您的方法如何易于实施 3)你的方法如何保证安全?

2 个答案:

答案 0 :(得分:3)

我认为如果您的图书馆不是为了接触互联网,那么这样做是个不错的主意。

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


回应评论,“为什么?”

我认为它是一个设计良好的库。我假设在设计图书馆时你有一些要求;某些用例和场景;您甚至可以编写使用该库的样本,以确保它易于使用。因此,该库满足了所有这些要求,可以称之为精心设计。

但您似乎没有在您的要求或用例中包含“暴露于Internet”。您似乎也没有包含“通过REST接口公开”。有可能的是,为满足一套要求而精心设计的图书馆不能很好地设计以满足其他两个要求,除非是偶然的。

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

我的建议是将一组新要求放在一起,以便将库的功能公开为一套精心设计的服务。这些服务将通过调用您的库来实现。

在理想的世界中,此过程将导致REST API与您首先设计的REST API完全相同。但它可能导致一些完全不同的东西。

答案 1 :(得分:2)

我个人使用WCF来公开我的.NET库。它支持many种不同的传输协议和绑定。我相信你会找到符合你需求的那个。它还允许您实现secure通信。