Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在.NET中将HttpHandler类放在哪里?_.net_Architecture_Httphandler - Fatal编程技术网

在.NET中将HttpHandler类放在哪里?

在.NET中将HttpHandler类放在哪里?,.net,architecture,httphandler,.net,Architecture,Httphandler,也许是一个奇怪的问题,但在n层体系结构中,您将把HttpHandler类放在哪里?我有一个服务层、一个域模型层和一个数据层。我是否应该为HttpHandler创建单独的类库?以下是我的首选项: 正如您所提到的,您正在跨站点重用IHttpHandler,因此它自己的独立库将是我首选的项目 当然,如果它是库中唯一的类,那就太过分了。您还说过它需要访问您的域和数据。您可以保留这些内部文件并使用: [assembly: InternalsVisibleTo("MyHandlerLibrary")] 它

也许是一个奇怪的问题,但在n层体系结构中,您将把HttpHandler类放在哪里?我有一个服务层、一个域模型层和一个数据层。我是否应该为HttpHandler创建单独的类库?

以下是我的首选项:

正如您所提到的,您正在跨站点重用
IHttpHandler
,因此它自己的独立库将是我首选的项目

当然,如果它是库中唯一的类,那就太过分了。您还说过它需要访问您的域和数据。您可以保留这些内部文件并使用:

[assembly: InternalsVisibleTo("MyHandlerLibrary")]
它位于域库的Assemblyinfo.cs文件中(或存储程序集信息的任何位置)


但我不想为了它而成为一名建筑宇航员。如果您知道您的处理程序不打算在全球占据主导地位,请将其粘贴到服务类库中。

以下是我的首选项:

正如您所提到的,您正在跨站点重用
IHttpHandler
,因此它自己的独立库将是我首选的项目

当然,如果它是库中唯一的类,那就太过分了。您还说过它需要访问您的域和数据。您可以保留这些内部文件并使用:

[assembly: InternalsVisibleTo("MyHandlerLibrary")]
它位于域库的Assemblyinfo.cs文件中(或存储程序集信息的任何位置)


但我不想为了它而成为一名建筑宇航员。如果您知道您的处理程序不打算在全球占据主导地位,那么很高兴将其放在服务类库中。

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

我的意见:我会将它们放在服务层,可能在该项目的子文件夹中。

HTTP处理程序是一种技术,可用于在任何地方公开接口(各种类型)。重要的问题是这些服务的目的是什么?它们是“技术”服务还是“商业”服务

如果你能回答这些问题,你将更接近于找出他们需要去哪里

还必须记住,它们是作为基于web的应用程序(或组件)的一部分公开的;如果您想通过web公开某些内容,那么它们可能是一个不错的选择。 因此,如果您想通过web公开数据访问,那么可以使用HTTP处理程序


你应该重新创建一个独立的库吗?如果HTTP处理程序公开的接口是通用的(比如日志记录),那么您可以这样做,尽管很可能您在库中会有一些“助手”方法,并且您的“服务”特定HTTP处理程序将在您需要它们的地方。

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

如果你能回答这些问题,你将更接近于找出他们需要去哪里

还必须记住,它们是作为基于web的应用程序(或组件)的一部分公开的;如果您想通过web公开某些内容,那么它们可能是一个不错的选择。 因此,如果您想通过web公开数据访问,那么可以使用HTTP处理程序


你应该重新创建一个独立的库吗?如果HTTP处理程序公开的接口是通用的(比如日志记录),那么您可以这样做,尽管很可能您在库中会有一些“帮助器”方法,并且您的“服务”特定HTTP处理程序将在您需要它们的地方。

问题是有几个站点将使用相同的HttpHandler。。。因此,没有一个MyNamespace.Site。它确实需要核心的内部方面。问题是有几个站点将使用相同的HttpHandler。。。所以没有一个MyNamespace.Site.com,它确实需要内核的内部方面。