请帮忙,我正在尝试自托管一个 web api。
当同一个控制器托管在 Web 项目上,并通过 F5 在 dev 上运行时,一切正常。
但是现在我尝试自行托管相同的内容,我得到 411 和 404。411,当我使用 Fiddler 连接时,404 当我尝试通过另一个库连接时。
这是应该托管服务的控制台应用程序:
class Program
{
static int portNumber;
static void Main(string[] args)
{
portNumber = 8089;
var config = new HttpSelfHostConfiguration(
string.Format("http://localhost:{0}", portNumber));
config.Routes.MapHttpRoute(
"API Default", "api/{controller}/{id}",
new { id = RouteParameter.Optional });
using (var server = new HttpSelfHostServer(config))
{
var test = new RetrieveGuidService().Execute(Unit.Instance);
server.OpenAsync().Wait();
Console.ReadLine();
}
}
}
这就是我的控制器的样子,它什么都不做,只是一个测试。
public class RetrieveGuidServiceController : ApiController
{
public virtual Guid PostExecute(Unit request)
{
IQueryService<Unit,Guid> queryService = new RetrieveGuidService();
return queryService.Execute(request);
}
}
这就是我尝试通过提琴手访问它的方式:
当服务托管在 Web 项目上时,同样适用。我几乎完全按照本教程进行操作:asp.net WebApi 自托管教程,其中包括运行 nugget 脚本、添加依赖项等。
我还缺少什么?