2

所以,现在是多年的梦想,但希望永存。是否有框架/服务 (WCF/WAS/MVC/ETC) 允许您添加/更新服务,而对正在进行的请求或“兄弟”服务的影响最小。

梦想看起来像这样:

  • IIS7

    • 可插拔 REST 服务主机

      • 共享资源(存储库、质量保证)

      • 服务 A - 放在生产文件夹中,提供新的 REST 方法

      • 服务 B - 更新“飞行中”以修复错误,最小化请求中断

我认为答案可能涉及 WAS 或可能涉及 AppFabric(梦想并不谨慎),但由于我从未设法找到一种简单的方法来使其工作,我欢迎您就如何最好地实现我认为我们的 PHP 同志的意见提供意见做就是了”。

4

3 回答 3

1

MEF + 带有 WebHttpBinding 的自托管 WCF。或带有 HttpListener 的 MEF。http://wcf.codeplex.com上的新 WCF Http 堆栈将使这在未来变得更加容易

于 2011-01-07T16:36:48.100 回答
-1

这是一个奇怪的问题。首先,我们处于编译程序集的 .NET 世界中——这对其他事情有很大影响。

所以基本上是的,如果你像 PHP 程序员一样开始编程,你可以做你想做的事。打开您的 .svc 文件并将整个服务直接写入此文件。这也称为内联编码。您将能够使用部署到站点的 GAC 和 Bin 文件夹的程序集中的类型。只需将 .svc 文件复制到您的 Web 应用程序目录即可使您的服务可用。修改也将很容易。您必须使用 .NET 4.0,并且在“部署”新服务时不需要任何配置更改。

编辑:

根据评论,我添加了一些进一步的解释。

IIS 和任何依赖于 IIS(WAS、AppFabric)的东西总是在添加新程序集时回收域。我认为原因直接在 .NET 核心 - AppDomain 中。动态加载和卸载程序集需要新域。

于 2011-01-07T15:26:13.413 回答
-1

这不是一个真正的 REST 问题 - 这是一个 HTTP 服务器问题。

过去,我所做的是将应用程序的新版本部署到服务器上的新位置,可能使用仅在内部可见的 URL。然后,我只是将 IIS 属性切换为指向新的 URL。

于 2011-01-07T14:42:54.340 回答