"5.0.rc1"のバージョンの "Microsoft.AspNet.WebApi.SelfHost" NuGetパッケージで再生しています(現在の安定版も試しましたが)残念ながらApiControllerの実装に設定されたルートを解決するためのアプリケーション設定を取得できません。ASP.NET WebAPI Selfhostがコントローラへのルートを解決しませんでした
アプリケーションは非常に簡単で、ほぼすべての例で見つけることができます。メインクラスに自己ホストサービスが存在する.NETコンソールアプリケーションが含まれています。
using System.Web.Http.SelfHost;
using System.Web.Http;
using System;
namespace EP.Server
{
class Program
{
static void Main(string[] args)
{
var config = new HttpSelfHostConfiguration("http://localhost:60064");
config.Routes.MapHttpRoute(
name: "Default Route",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
using (var server = new HttpSelfHostServer(config))
{
server.OpenAsync().Wait();
Console.WriteLine("Server ist running on "+config.BaseAddress + " hit ENTER to stop.");
Console.ReadLine();
server.CloseAsync().Wait();
}
}
}
}
と同じプロジェクトに存在し、ApiControllerクラスから継承する別のコントローラクラスがあります。
using System.Web.Http;
namespace EP.Server
{
class UsersController : ApiController
{
[HttpGet]
public string Get()
{
return "Hello I'm a user...";
}
}
}
いずれかのブラウザからサービスを呼び出すと、このようなエラーメッセージが表示されます。
<Error>
<Message>No HTTP resource was found that matches the request URI 'http://localhost:60064/api/Users'.</Message>
<MessageDetail>No type was found that matches the controller named 'Users'.</MessageDetail>
</Error>
誰かが間違っていることを知っていますか?残念ながら、私はWeb上で同様の問題や質問を見つけることができませんでした。
ありがとうございました!
私のコントローラは既に公開されていてエラーが続く... :( – JobaDiniz