Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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
C# 使用不带整个MVC框架的控制器_C#_Asp.net Mvc_Windows Services - Fatal编程技术网

C# 使用不带整个MVC框架的控制器

C# 使用不带整个MVC框架的控制器,c#,asp.net-mvc,windows-services,C#,Asp.net Mvc,Windows Services,在设计系统时,我正在尝试使用MVC做一些事情,我想尝试一下,看看是否可以在MVC框架之外使用控制器的概念。当我说在外面时,我指的是在我自己的C#服务内,而不是在一个网站内 我启动了一个简单的控制台应用程序来测试这个理论,它非常简单,可以将概要文件更改为非客户端概要文件,添加到System.Web.Mvc,创建一个控制器并让它返回一个JsonResult。设置起来很容易,这让我很高兴,因为如果我想让一个服务用JSON响应,这就完成了一半的工作 下一步是设置一个Http服务器类,如果我能利用框架的另

在设计系统时,我正在尝试使用MVC做一些事情,我想尝试一下,看看是否可以在MVC框架之外使用控制器的概念。当我说在外面时,我指的是在我自己的C#服务内,而不是在一个网站内

我启动了一个简单的控制台应用程序来测试这个理论,它非常简单,可以将概要文件更改为非客户端概要文件,添加到
System.Web.Mvc
,创建一个控制器并让它返回一个JsonResult。设置起来很容易,这让我很高兴,因为如果我想让一个服务用JSON响应,这就完成了一半的工作

下一步是设置一个Http服务器类,如果我能利用框架的另一部分,将传入的请求映射到我的控制器,我将非常喜欢它。不幸的是,这是我迷路的地方,我不知道后面的代码是什么,以达到一个特定的控制器的功能和所有的参数到位

有没有人对如何实现这一点有想法,或者有什么资源可以利用


简而言之:我想在我自己的服务中利用控制器的使用,运行它自己的HTTP服务器。

你不是想重新发明轮子吗

如果返回JSON是您的主要目的之一,那么WCF可以满足您的需求。有了WCF,您可以自由地在IIS中托管它。拥有自己的HTTP服务器可以实现第二个目的

您正在尝试实现某种路由,其中基于URL的不同操作将被调用。这是否与使用不同方法的WCF服务以及客户端使用不同的URL调用它们中的每一个类似


在非web应用程序中尝试控制器概念似乎是一种创新,但在您的情况下,它看起来像是过度工程化了。

您不是在尝试重新发明轮子吗

如果返回JSON是您的主要目的之一,那么WCF可以满足您的需求。有了WCF,您可以自由地在IIS中托管它。拥有自己的HTTP服务器可以实现第二个目的

您正在尝试实现某种路由,其中基于URL的不同操作将被调用。这是否与使用不同方法的WCF服务以及客户端使用不同的URL调用它们中的每一个类似


在非web应用程序中尝试控制器概念似乎是一种创新,但在您的情况下,这看起来像是过度工程化了。

您可以使用设计模式而不使用框架-我的意思是,您可以在任何您认为解决问题的地方应用模型-视图-控制器模式-如果您认为可以替换“视图”通过“服务”,你可以应用一些概念


然而,还有其他模式可能更适合服务,尽管如果我们专门讨论JSON服务,那么只使用ASP.NET MVC框架就可以了(而不是试图重新编写它)。

您可以使用设计模式而不使用框架-我的意思是,无论您认为模型-视图-控制器模式解决了什么问题,您都可以应用它-如果您认为可以用“服务”替换“视图”,您可以应用一些概念


然而,还有其他模式可能更适合服务,尽管如果我们专门讨论JSON服务,那么只使用ASP.NET MVC框架就可以很好地工作(而不是尝试重新编写)。基本的MVC模式并不难复制。我会认真考虑编写你自己的,而不是试图把MVC类移植到你的应用程序中。


Simon

基本的MVC模式并不难复制。我会认真考虑编写你自己的,而不是试图把MVC类移植到你的应用程序中。


Simon

如果它对您有所帮助,整个ASP.NETMVC框架都是开源的,您可以从下载。您可以使用此处的库来查看框架在幕后的工作方式,并根据需要调整内容以供自己使用。

如果它对您有所帮助,整个ASP.Net MVC框架都是开源的,您可以从以下位置下载所有内容。您可以使用此处的库来查看框架在幕后是如何工作的,并根据需要调整内容以供自己使用。

不,我不希望重新发明轮子。MVC框架提供了一种很好的机制,用于接收传入的web请求,将其映射到控制器上的方法并响应它。我可以完全抛弃Mvc中的控制器,按照Sohnee建议的“概念”,但如果可以在Mvc ASP.NET应用程序之外使用现有类来实现这一点,我愿意使用它。正如你所看到的,我并没有试图在这里重新发明轮子。也就是说,我在谈论WCF:)不,我不想重新发明轮子。MVC框架提供了一种很好的机制,用于接收传入的web请求,将其映射到控制器上的方法并响应它。我可以完全抛弃Mvc中的控制器,按照Sohnee建议的“概念”,但如果可以在Mvc ASP.NET应用程序之外使用现有类来实现这一点,我愿意使用它。正如你所看到的,我并没有试图在这里重新发明轮子。也就是说,我在讨论WCF:)在深入研究其他选项之后,我同意。我根本不需要使用视图,只需要有一个纯控制器驱动的数据接口(JSON输入和输出)。我会将长期运行的任务委托给一个单独的服务(共享同一型号的DLL)。在深入研究其他选项后,我同意。我根本不需要使用视图,只需要有一个纯控制器驱动的数据接口(JSON输入和输出)。我将把长时间运行的任务委托给一个单独的服务(共享相同型号的DLL)。