我正在尝试从我的WCF服务调用Web API端点,这是代码;
private static async Task RunAsync(string message)
{
var model = new MyModel
{
Message = message
};
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.PostAsJsonAsync("api/RecordMessage", model);
}
}
我得到的回复是“404”。我可以从控制台应用程序发布消息,但我无法让它在我的WCF服务中运行它。我尝试将Expect100Continue设置为true,但似乎并非如此。
我的WCF托管在IIS中。有没有人遇到过同样的问题?
答案 0 :(得分:0)
您正尝试POST到/api/RecordMessage
端点。如果您使用的是默认路由配置:
routes.MapHttpRoute(
name: "API Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
这意味着您必须拥有一个名为RecordMessageController
的控制器,其中包含一个名为Post
的方法:
public class RecordMessageController: ApiController
{
public HttpResponseMessage Post()
{
... That's the action that will be invoked when you call
... POST /api/RecordMessage
}
}