OWIN服务器中的错误响应,启动选项

时间:2015-02-11 12:40:35

标签: c# asp.net-web-api owin

我的OWIN自托管服务器出了点问题。我试图通过我的本地网络访问它。这意味着主机的IP地址将用于连接到服务器。不好的是,我得到了一个错误的请求,无效的主机名。

我已经完成了一些谷歌搜索,我发现了一个关于启动选项的可能解决方案:

StartOptions options = new StartOptions();
options.Urls.Add("http://localhost:9095");
options.Urls.Add("http://127.0.0.1:9095");
options.Urls.Add(string.Format("http://{0}:9095", Environment.MachineName));

现在我试图实现这一目的只是为了得到一个错误:

static void Main()
        {
            string baseAddress = "http://localhost:4004/";

            /*Render application
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new FrontVorm());
            */
            // Start OWIN host 
            StartOptions options = new StartOptions();
            options.Urls.Add("http://localhost:4004");
            options.Urls.Add("http://127.0.0.1:4004");
            options.Urls.Add(string.Format("http://{0}:4004", Environment.MachineName));
            using (WebApp.Start<Program>(options))
            {

                // Create HttpCient and make a request to api/values 
                HttpClient client = new HttpClient();
            }
}

我最初使用baseURL,然后使用我的启动(url:baseAdress)。但现在我收到错误,我的服务器停止运行。

{"The following errors occurred while attempting to load the app.\r\n - No 'Configuration' method was found in class 'ServerTestApp.Program, ServerTestApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.":""}

知道我做错了什么吗?

我的原始实现不起作用,因为我还需要通过其他设备上的本地网络访问服务器。我认为实现这些startupOptions可以解决这个问题。

我已经禁用了我的防火墙:)

2 个答案:

答案 0 :(得分:4)

  1. 使用此Url选项,其中9095是端口号

    options.Urls.Add("http://+:9095");

  2. 检查防火墙设置。应该可以访问端口9095。

答案 1 :(得分:2)

您的ServerTestApp.Program需要Configuration方法。 这是您必须遵循的惯例。

    public void Configuration(IAppBuilder app)
    {
        // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
    }