Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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
如何在不使用ASP.NET的情况下在C#中创建REST服务_C#_.net_Rest - Fatal编程技术网

如何在不使用ASP.NET的情况下在C#中创建REST服务

如何在不使用ASP.NET的情况下在C#中创建REST服务,c#,.net,rest,C#,.net,Rest,我尝试在windows中创建文本到语音服务。应使用REST API公开该API。不幸的是,我只找到使用ASP.NET的示例。不使用ASP就可以创建这样的服务吗。如有任何提示或示例,将不胜感激 我搜索了谷歌和stackoverflow;但是找不到实现这一点的信息或示例。您可以在brothers的Albahari“简而言之,C#7.0”一书中查看联网\编写HTTP服务器一章 大概是 HttpListener listener = new HttpListener(); listener.Prefix

我尝试在windows中创建文本到语音服务。应使用REST API公开该API。不幸的是,我只找到使用ASP.NET的示例。不使用ASP就可以创建这样的服务吗。如有任何提示或示例,将不胜感激


我搜索了谷歌和stackoverflow;但是找不到实现这一点的信息或示例。

您可以在brothers的Albahari“简而言之,C#7.0”一书中查看
联网\编写HTTP服务器
一章

大概是

HttpListener listener = new HttpListener();
listener.Prefixes.Add ("http://localhost:51111/MyApp/"); // Listen on 51111
listener.Start();
但这绝对不是最简单的方法。 您将不得不编写太多的低级代码


只需将web API与ASP.NET核心MVC结合使用即可。你可以在这里找到更多信息:

你说的“没有ASP.NET”是什么意思?您希望用哪种语言编写服务器代码?如果是C#,那就是ASP.NET——如果不是,那么,首先为什么要使用C#?@ShayLivyatan不是真的,WCF是存在的,其他许多开源软件也是存在的。你可以在C#中创建一个自托管的REST服务,例如包含在你可以启动的.NET可执行文件(或在后台运行的Windows服务)中。然而,使用ASP.NET Web API来创建此服务可能仍然是最简单的方法-但是如果您真的想避免任何ASP.NET位,例如@Camiloteriento WCF,则存在非ASP.NET开源替代方案-这是一个有效点,但对于其他开源替代方案,我的印象是OP正试图用Visual Studio用C#编写这样的服务,但可能我的印象是错误的。你可以使用Nancy或ServiceStack,但我不会。首先,请解释您不想使用ASP.NET的原因。嗨,Liam,谢谢您的回复。我试着跟随你链接的教程。但不知何故,我无法让它工作。我用[HttpGet]修饰的方法创建了一个ApicController类,但从未调用过它。我怀疑我必须配置路由(MapHttpRoute),但不知道如何将所有URL指向我的方法。和蔼regards@PatrikGfeller也许您的路线映射确实存在一些问题。例如,您可以在media.com上查看或查找其他教程。在您构建项目后,readme.md中有两条有效的路径。我对答案投了反对票,因为问题是“没有ASP.NET”,而您的答案是“只需将web API与ASP.NET一起使用”@Piranha,如果您看得更高一点,就会有一个实际的答案。这可能会令人惊讶,但我不会强迫任何人在枪口下使用Asp.Net。