具有 url 个参数的 C# 简单 Web 服务器
C# Simple web server with url parameters
我正在尝试创建一个小程序,它将像 Web 服务器一样运行并接受 url 参数。我找到了这个示例项目:https://codehosting.net/blog/BlogEngine/post/Simple-C-Web-Server.aspx
有什么方法可以让它接收我的 url 参数吗?是否有任何其他类似的示例项目具有此功能?
你应该看看 OWIN/Katana。
根据您的问题 - 并且 OWIN 能够在任何进程中托管 - 这可能非常适合并且是当前的方式:
http://www.asp.net/aspnet/overview/owin-and-katana/getting-started-with-owin-and-katana
您会找到大量关于此主题的示例。关于参数的问题可以参考this article.
在第一个 link 的基础上,您可以执行以下操作:
public class Startup1
{
public void Configuration(IAppBuilder app)
{
app.Run(context =>
{
var value = context.Request.Query.Get("someKey");
if (value == "foo")
{
// do something
}
context.Response.ContentType = "text/plain";
return context.Response.WriteAsync("Hello, world.");
});
}
}
请求可能如下所示:http://someServer:80/?someKey=foo
请阅读这篇文章:
Building A Simple File Server With OWIN and Katana
class Program
{
static void Main(string[] args)
{
var url = "http://localhost:8080";
WebApp.Start(url, builder => builder.UseFileServer(enableDirectoryBrowsing:true));
Console.WriteLine("Listening at " + url);
Console.ReadLine();
}
}
根据您的项目示例,尝试按如下方式放入方法 SendRequest:
string name = request.QueryString.Get("name");
switch (name){
case "a":
return string.Format("<HTML><BODY>My web page a.<br>{0}</BODY></HTML>", DateTime.Now);
break;
case "b":
return string.Format("<HTML><BODY>My web page b.<br>{0}</BODY></HTML>", DateTime.Now);
break;
default:
return string.Format("<HTML><BODY>My web page .<br>{0}</BODY></HTML>", DateTime.Now);
break;
}
我正在尝试创建一个小程序,它将像 Web 服务器一样运行并接受 url 参数。我找到了这个示例项目:https://codehosting.net/blog/BlogEngine/post/Simple-C-Web-Server.aspx
有什么方法可以让它接收我的 url 参数吗?是否有任何其他类似的示例项目具有此功能?
你应该看看 OWIN/Katana。 根据您的问题 - 并且 OWIN 能够在任何进程中托管 - 这可能非常适合并且是当前的方式:
http://www.asp.net/aspnet/overview/owin-and-katana/getting-started-with-owin-and-katana
您会找到大量关于此主题的示例。关于参数的问题可以参考this article.
在第一个 link 的基础上,您可以执行以下操作:
public class Startup1
{
public void Configuration(IAppBuilder app)
{
app.Run(context =>
{
var value = context.Request.Query.Get("someKey");
if (value == "foo")
{
// do something
}
context.Response.ContentType = "text/plain";
return context.Response.WriteAsync("Hello, world.");
});
}
}
请求可能如下所示:http://someServer:80/?someKey=foo
请阅读这篇文章: Building A Simple File Server With OWIN and Katana
class Program
{
static void Main(string[] args)
{
var url = "http://localhost:8080";
WebApp.Start(url, builder => builder.UseFileServer(enableDirectoryBrowsing:true));
Console.WriteLine("Listening at " + url);
Console.ReadLine();
}
}
根据您的项目示例,尝试按如下方式放入方法 SendRequest:
string name = request.QueryString.Get("name");
switch (name){
case "a":
return string.Format("<HTML><BODY>My web page a.<br>{0}</BODY></HTML>", DateTime.Now);
break;
case "b":
return string.Format("<HTML><BODY>My web page b.<br>{0}</BODY></HTML>", DateTime.Now);
break;
default:
return string.Format("<HTML><BODY>My web page .<br>{0}</BODY></HTML>", DateTime.Now);
break;
}