Я размещаю службу wcf в IIS 7. Мне было любопытно, можно ли создать собственные сопоставления и класс HttpHandler .svc для обработки запросов на обслуживание.
Например, если я должен был перехватитьлюбые запросы к файлам, которые заканчивались расширением ".foo", я мог бы добавить это в мой web.config
<handlers>
<add name="*.foo_**" path="*.foo" verb="*" type="MyServer.FooHttpHandler" />
</handlers>
И у меня мог бы быть класс в корне по умолчанию, который делал бы следующее
public class FooHandler: IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// do stuff, validate?
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("filename={0}", url));
HttpContext.Current.Response.AddHeader("Content-Type", "fooMimeType");
HttpContext.Current.Response.WriteFile(url);
HttpContext.Current.Response.End();
}
public bool IsReusable
{
get { return false; }
}
}
Можно ли сделать что-то подобное с запросами wcf .svc?Я не уверен, будет ли это точно так же или нет, так как мне не нужно передавать файл для ответа, я хочу перехватить и прокси-ответ.
Или это лучший способ реализовать поведение службы, которое выполняет мою требуемую логику перед обслуживанием?