我有一个基于ASP.NET MVC框架构建的Web应用程序,它需要一个服务支付模块。对于给定的服务支付提供商,我必须创建一个模块,用于侦听特定URL上的特定端口(不同于80)。实现这一目标的最佳方法是什么?我应该创建一个单独的Http Server应用程序来监听这些连接吗?有没有办法在主Web应用程序的上下文中创建一个HttpHandler来处理给定端口的请求?
答案 0 :(得分:3)
我知道有两种选择:
Request
对象以确定URL 我个人更喜欢第一选择。
答案 1 :(得分:2)
在PostMapRequestHandler event
检查端口。如果它是您要使用的端口,则将HttpHandler
设置为您的自定义处理程序,否则不要执行任何操作。
例如,
EventHandler WireThisToHttpApplicationPostMapRequestHandler = (sender, args) =>
{
var httpApplication = (HttpApplication) sender;
var portString =httpApplication.Request.ServerVariables["SERVER_PORT"];
if (!string.IsNullOrEmpty(portString))
{
var port = int.Parse(portString);
if (port == 8675309)
{
httpApplication.Context.Handler = new TommyTutoneHttpHandler();
}
}
};