虽然我试图将一个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
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键退出。
当我浏览
时网页提供以下输出:
我在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时,在我的情况下
网页显示错误请求(无效主机)
答案 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