2009-11-17 69 views

回答

3

我的意见:我会把它们放在服务层,也许在该项目的子文件夹中。

2

这些都是我的喜好:

你重用IHttpHandler跨站点如你所说那么它自己独立的库将是我的首选是项目。

当然,如果它是图书馆唯一的课程,那完全是矫枉过正。你也表示它需要访问你的域名和数据。你可以把这些内部及用途:

[assembly: InternalsVisibleTo("MyHandlerLibrary")] 

那去你的域库的AssemblyInfo.cs文件(或任何你要存储的组件信息)。

虽然我不想成为一名建筑宇航员。如果你知道你的处理程序不适合全球统治,那么请把它放在服务类库中。

+0

问题是,有几个网站将使用相同的HttpHandler ...所以没有一个MyNamespace.Site。 – 2009-11-17 14:01:22

+0

它确实需要内核的内部方面。 – 2009-11-17 14:02:12

+0

我会更新答案 – 2009-11-17 14:02:57

1

HTTP处理程序是技术 - 它们可以用来在任何你想要的地方公开接口(各种)。重要的问题是服务的目的是什么?他们是“技术”服务还是“商业”服务?

如果你能回答这些问题,你会更接近找出他们需要去的地方。

重要的是要记住,它们是作为基于Web的应用程序(或组件)的一部分公开的;如果你想在网络上公开某些东西,那么它们可能是一个不错的选择。 所以如果你想通过网络公开你的数据访问,那么你可以使用HTTP处理程序。

你应该重新创建一个单独的库吗?如果HTTP处理程序公开的接口是通用的(比如说日志记录),那么你可以,尽管它更可能在库中有一些'helper'方法,而'service'特定的HTTP处理程序将会在你需要它们的地方。