如何在没有web.config或httpModule的情况下定义端点?

时间:2009-05-11 19:46:53

标签: c# .net wcf rest

我想创建一个RESThand的HTTPhandler应用,而不必通过在web.config中创建一个条目来定义每个端点,我想要将属性附加到类构造函数的样式,例如:

public class obj : IHttpHandler
{
  [WebGet(UriTemplate = "/accounts/{id}")]
  public obj(string id)
  {
     // this is just an eg, it worild normally include caching and 
     // a template system
     String html = File.ReadAllText("/accounts/accounts.htm");
     html.replace("id", id);
     httpcontext.current.response.write(html)
  }
}

而不是

<httpHandlers>
      <clear />
      <add verb="GET" path="/accounts/*" type="MyApp.obj" />
</httphandlers>

我正在这样做的方式现在我在web.config中有100个端点:(我宁愿在课堂上定义它们。而且我也不想制作额外的文件(.asmx)。我我喜欢只有带有令牌和.cs文件的.htm文件的应用程序

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用自定义ServiceHost自动注册端点等,这会覆盖ApplyConfiguration()方法,然后该方法虚拟化配置,使其不必位于web.config文件中。

Here's a starting point。它并不完全符合您的要求,但它说明了虚拟化配置的概念。