我已经在 Windows 8.1 64bit 下安装了 Mono 4.0.2
现在我正在测试它的运行方式:控制台和 WF 应用程序一切正常
但是,我无法运行任何 ASP.NET 应用程序/页面。我尝试了自己的网络应用程序和来自 there 的简单示例,结果是一样的:
- xsp4 启动,监听端口 9000,显示根目录(webapp 目录)并等待。
- 我尝试访问 localhost:9000/, localhost:9000/hello.aspx
- 浏览器一直在等待响应, 控制台没有任何反应(我试过 --verbose 和 --loginfo)。
我尝试了不同的端口,mono.exe 和 xsp4.exe 都在防火墙异常(exception)列表中。 IPv6 已禁用。 Test-NetConnection 成功,但 telnet 没有比“连接到 127.0.0.1...”更进一步
如何让它正常工作?
这是我尝试访问以进行测试的页面:
<%@ Page Language="C#" %>
<html>
<head>
<title>Sample Calendar</title>
</head>
<asp:calendar showtitle="true" runat="server">
</asp:calendar>
网络统计输出:
#just launched xsp4. 2772 is mono.exe
PS C:\Users\Orif> netstat -aon | findstr 9000
TCP 0.0.0.0:9000 0.0.0.0:0 LISTENING 2772
#now tried to access a page through firefox (5008)
PS C:\Users\Orif> netstat -aon | findstr 9000
TCP 0.0.0.0:9000 0.0.0.0:0 LISTENING 2772
TCP 127.0.0.1:2199 127.0.0.1:9000 ESTABLISHED 5008
TCP 127.0.0.1:9000 127.0.0.1:2199 ESTABLISHED 2772
更新
我已经安装了拥有自己的 xsp4 副本的 Xamarin Studio。该副本工作得很好。
最佳答案
似乎它应该可以正常工作,因为它不会在端口 9000 上抛出绑定(bind)错误,因此没有其他东西在使用该端口。您列出的压延机示例对我来说运行良好,没有错误。
尝试一些快速诊断:
% 关闭防火墙
% 如果你安装了telnet,看看你是否 可以连接到那个端口:
ps> telnet 127.0.0.1 9000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
% 并通过 Powershell 进行测试
Test-NetConnection -ComputerName 127.0.0.1 -port 9000 -InformationLevel Detailed
~~~
TcpTestSucceeded : True
假设一切正常,请尝试 Mono 安装的完整 XSP 测试目录(位于您的安装路径 ...\lib\xsp\test 下)
注意:您需要该目录的管理员权限,否则其中一些示例会失败。以管理员身份启动 cmd/powershell session ,然后 cd 到测试目录并启动 xsp4。
仍未连接?
尝试使用您 PC 的实际 IP 地址而不是本地主机。启动xsp4并绑定(bind)你的网络IP地址:
xsp4 --address=xxx.xxx.xxx.xxx --port=9000
telnet xxx.xxx.xxx.xxx --port=9000
同时检查你的主机文件,看看本地主机的 ip 是否被重新映射(?)
关于c# - XSP4 本地主机不响应 (Windows 8.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31493118/