Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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# 控制台HTTP侦听器访问JSON内容_C#_Json_Owin_Httplistener - Fatal编程技术网

C# 控制台HTTP侦听器访问JSON内容

C# 控制台HTTP侦听器访问JSON内容,c#,json,owin,httplistener,C#,Json,Owin,Httplistener,我刚刚开始学习C#,对于我的第一个私人应用程序,我想通过创建一个非常简单的“端点”来测试到amazon Alexa的链接。(对不起,如果我把单词弄混了一点,我在术语方面有困难) 下面是我非常简单的Http侦听器: static void Main(string[] args) { string baseAddress = "http://localhost:7775/"; try { using (WebA

我刚刚开始学习C#,对于我的第一个私人应用程序,我想通过创建一个非常简单的“端点”来测试到amazon Alexa的链接。(对不起,如果我把单词弄混了一点,我在术语方面有困难)

下面是我非常简单的Http侦听器:

static void Main(string[] args)
    {


        string baseAddress = "http://localhost:7775/";


        try
        {

            using (WebApp.Start<Startup>(url: baseAddress))
            {



                Console.ReadLine();
            }

        }
        catch (Exception ex)
        {

            Console.WriteLine("Error: " + ex.Message);
            Console.ReadLine();

        }


    }
结果是:

*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 7775 (#0)
> POST /api/values/5 HTTP/1.1
> Host: localhost:7775
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 227
>
* upload completely sent off: 227 out of 227 bytes
< HTTP/1.1 204 No Content
< Content-Length: 0
< Server: Microsoft-HTTPAPI/2.0
< Date: Wed, 26 Apr 2017 11:45:21 GMT
<
* Connection #0 to host localhost left intact

将请求更改为字符串,并返回json,这样我就可以使用它了,但我会将此保留为打开状态,非常感谢大家提供的任何建议。谢谢again@lzion您的请求类为空..您好loneshark99,感谢您的评论我认为问题在于从json字符串中删除引号导致服务器端出现解析错误。如果代码有效,将更新代码。
curl -v -k http://localhost:7775/api/values/5 --data-binary '{"version":"1.0","session":{"new":true,"sessionId":"session1234","application":{"applicationId":"amzn1.echo-sdk-ams.app.1234"},"attributes":{},"user":{"userId":null}},"request":{"type":"LaunchRequest","requestId":"request5678","timestamp":"2015-05-13T12:34:56Z"}}'
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 7775 (#0)
> POST /api/values/5 HTTP/1.1
> Host: localhost:7775
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: application/json
> Content-Length: 227
>
* upload completely sent off: 227 out of 227 bytes
< HTTP/1.1 204 No Content
< Content-Length: 0
< Server: Microsoft-HTTPAPI/2.0
< Date: Wed, 26 Apr 2017 11:45:21 GMT
<
* Connection #0 to host localhost left intact
 public class Startup
{
    // This code configures Web API. The Startup class is specified as a type
    // parameter in the WebApp.Start method.
    public void Configuration(IAppBuilder appBuilder)
    {
        // Configure Web API for self-host. 
        HttpConfiguration config = new HttpConfiguration();
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        appBuilder.UseWebApi(config);
    }
}