我已经通过 AppHostHttpListenerBase 类使用自托管设置了一个小型 ServiceStack。我没有使用 localhost 或 127.0.0.1 作为 baseUri,而是使用机器的 ip。在本地连接时效果很好,但从其他设备(笔记本电脑、台式机、平板电脑等)连接时,它就会超时。
这是我的 AppHost 以及我如何启动它。
public class AppHost : AppHostHttpListenerBase
{
private static ILog log;
public AppHost() : base("ServiceStack Examples", typeof(AppHost).Assembly)
{
LogManager.LogFactory = new DebugLogFactory();
log = LogManager.GetLogger(typeof(AppHost));
}
public override void Configure(Container container)
{
}
}
string path = "http://192.168.3.125:8889/";
var appHost = new AppHost();
appHost.Init();
appHost.Start(path);
System.Console.WriteLine("AppHost Created at {0}, listening on {1}", DateTime.Now, path);
Thread.Sleep(Timeout.Infinite);
System.Console.WriteLine("ReadLine()");
System.Console.ReadLine();
这是在 Xamarin 中开发的,使用最新的 ServiceStack 库等使用 .NET 4.0 编译。在 Windows 8 Pro 上运行并以管理员权限启动 Xamarin 等。
我错过了什么吗?我已经看了一遍,但没有看到任何似乎将我指向特定方向的东西。我也没有在https://github.com/ServiceStack/ServiceStack/wiki/Self-hosting看到任何关于不允许远程连接的免责声明。