DotText使用非80端口(默认端口)时URL出错

发现一个bug,使用80端口以外的端口提供WWW服务时,DotText生成的部分超级链接不会自动添加端口号。
例如:
网址:http://host:port/test/archive/2006/11/27/451.html
DotText生成的链接变成:http://host/test/archive/2006/11/27/451.html
端口(:port)被忽略了。

解决的办法在Dottext.Framework.Util.Globals.cs中,把:
return string.Format(AppUrl,request.Url.Host,app);
一律替换成:
return string.Format(AppUrl,host,app); 

重新编译,OK!

说明:
其实在源代码已经有检测端口的代码:
   string host=request.Url.Host;
   if(!request.Url.IsDefaultPort)
   {
    host+=":"+request.Url.Port;
   }
只是return语句采用旧的request.Url.Host变量,改一下就行。
如果没有上面代码,也可以手工加上。
posted @ 2006-11-30 12:08  pack27  阅读(1059)  评论(0编辑  收藏  举报