使用mono在pi上托管一个asp.net owin网页导致主机不好

时间:2015-03-05 08:39:35

标签: c# asp.net mono raspberry-pi owin

虽然我试图将一个owin asp.net网站移植到pi,(raspberry pi模型b)我最终得到了一个显示错误页面的网站:

  

错误请求(无效主机)



在pi我正在运行raspbian wheezy。我安装了mono(版本3.2.8)。 对于简单的控制台应用单声道工作。

对于Owin网站,我在2015年视觉工作室制作了一个控制台项目。
对于这个控制台应用程序我添加了nuget包:

  • Microsoft.Owin
  • Microsoft.Owin.Diagnostics
  • Microsoft.Owin.Host.HttpListner
  • Microsoft.Owin.Hosting
  • 之后我添加了一个Owin启动类。在这个类中,我添加了几行代码来显示当前的操作系统":

    public void Configuration(IAppBuilder app)
    {
        app.UseWelcomePage(new Microsoft.Owin.Diagnostics.WelcomePageOptions()
        {
            Path = new PathString("/welcome")
        });
    
        app.Run(context =>
        {
            context.Response.ContentType = "text/plain";
    
            string output = string.Format(
                "I'm running on {0} nFrom assembly {1}",
                Environment.OSVersion,
                System.Reflection.Assembly.GetEntryAssembly().FullName
                );
    
            return context.Response.WriteAsync(output);
    
        });
    }
    

    现在我只需要在程序类中指定项目的基本URL,id在main函数中执行此操作

        string baseUrl = "http://localhost:5000";
        using (WebApp.Start<Startup>(baseUrl))
        {
            Console.WriteLine("Press Enter to quit.");
            Console.ReadKey();
    
        }
    

    使用此代码,我的项目在启动时会提供带有文本

    的控制台视图
      

    按Enter键退出。

    当我浏览

      

    http://localhost:5000

    网页提供以下输出:

      

    我在Microsoft Windows NT 6.2.9200.0上运行nFrom程序集   ConsoleApplication1,Version = 1.0.0.0,Culture = neutral,   公钥=空

    然而,当我将所有的dll&exe和exe复制到我的pi并执行命令

      

    Mono ConsoleApplication1.exe

    pi给出该行按Enter键退出。但是当我浏览到端口号为500的pi的ip时,在我的情况下

      

    http://192.168.7.137:5000/

    网页显示错误请求(无效主机)

    2 个答案:

    答案 0 :(得分:4)

    尝试替换:

    http://localhost:5000 
    

    http://*:5000
    

    答案 1 :(得分:0)

    问题出在方向rtf_leg指出我从pi接收网站时无法使用localhost。

    我只需要将基本网址更改为pi的确切网址。就我而言http://192.168.7.137:5000

    这样,当网址被加入时,pi知道该怎么做,并且显示的是:

      

    我在Unix 3.18.7.0上运行nFrom程序集ConsoleApplication1,   Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null

    :d