如何在服务堆栈服务中指定端口号?

时间:2014-04-03 01:23:42

标签: c# web-services rest servicestack

我正在尝试使用服务堆栈创建一个restful服务。如何配置我尝试创建的服务的终点?默认值为8080,我希望能够在同一主机上运行多个服务。

由于

2 个答案:

答案 0 :(得分:2)

这取决于您使用ServiceStack的方式。 ServiceStack可以作为HttpModule包含在现有的ASP.NET Web应用程序中,也可以配置为自托管应用程序。

自托管

作为自托管应用程序,您可以在AppHost中指定HTTP侦听器配置时定义运行服务所需的端口:

public static void Main()
{
    // Very simple self hosted console host
    var appHost = new AppHost();
    appHost.Init();
    appHost.Start("http://*:8080/"); // Update the port number here, change 8080
    Console.ReadKey();
}

ASP.NET Web应用程序

在Windows上运行ServiceStack应用程序(有或没有MVC)时,在Mono平台(如Mac OS X)上使用IIS(或开发期间的Cassini / IISExpress),您将使用fastcgi-服务器(或开发期间的XSP)。在这种情况下,您可以这样配置服务器端口:

发展:

在开发中,您可以在项目设置中配置端口。

Visual Studio:

此步骤取决于您使用的Visual Studio版本,但它们都相似。

  • 解决方案资源管理器中右键单击您的项目
  • 然后选择属性
  • 然后选择网络标签

然后,您会看到与这些屏幕截图类似的选项,具体取决于您的版本。

如果您为开发配置了IISExpress,请将此屏幕截图中的项目URL中的51283更改为您需要的端口号。 IISExpress

如果您有Cassini, Visual Studio开发服务器,对于开发旧版Visual Studio ,请将此屏幕截图中显示63919的位置更改为您需要的端口号。 Casini Port

Xamarin Studio / MonoDevelop

  • 解决方案资源管理器中右键单击您的项目
  • 然后选择选项
  • 然后在运行部分
  • 下选择 XSP Web服务器标签
  • 更新端口号字段

XSP Port

生产:

您将在托管服务器配置中配置端口号。对于IIS please see here,对于其他人,您需要参考他们的文档。

我希望这会有所帮助。

答案 1 :(得分:0)

使用单个配置,您可以使用相同的根URL创建多个服务。示例为http://localhost:8080/api/customershttp://localhost:8080/api/vendors。应用程序中的根级别端点是可配置的。例如,您可以使用任何路径代替/api。请参阅servicestack中的this wiki page