English 中文(简体)
WCFFacility and WVF 4.0 REST
原标题:WCFFacility and WVF 4.0 REST

How do you use the Windsor-Castle WCFFacility with the WCF 4.0 REST services ?

当你没有文件时,你如何与工厂建立联系?

TIA

Søren

最佳回答

借助温莎3.0,这非常简单(如果我正确理解你的问题,如果我失踪的话,我会抱歉)。

显示你最简单的事是创建一种专人的申请,并确保你推荐:

  • Castle.Core
  • Castle.Windsor
  • Castle.Facilities.WcfIntegration
  • System.ServiceModel
  • System.ServiceModel.Web
  • System.Runtime.Serialization

如今界定了教育服务,如:

[DataContract]
public class Frob
{
    [DataMember]
    public string Name { get; set; }

    [DataMember]
    public string Fribble { get; set; }
}   

[ServiceContract]
public interface IFrobService
{
    [OperationContract]
    [WebGet(UriTemplate = "/")]
    IEnumerable<Frob> GetAllFrobs();

    [OperationContract]
    [WebGet(UriTemplate = "/{name}")]
    Frob GetFrobByName(string name);
}

public class FrobService : IFrobService
{
    private readonly List<Frob> _frobs
        = new List<Frob>
              {
                  new Frob {Name = "Foob", Fribble = "Soop"},
                  new Frob {Name = "Hoob", Fribble = "Soop"},
                  new Frob {Name = "Doob", Fribble = "Noop"}
              };

    public IEnumerable<Frob> GetAllFrobs()
    {
        return _frobs;
    }

    public Frob GetFrobByName(string name)
    {
        return _frobs
            .FirstOrDefault(f =>
                            f.Name.Equals(name,
                                          StringComparison.OrdinalIgnoreCase));
    }
}

现在,你可以忽略这样的风化集装箱(而且由于这是一条独一无二的申请,我只想向你展示主要方法):

public static class Program
{
    static void Main()
    {            
        var container = new WindsorContainer();

        container
            .AddFacility<WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero)
            .Register(Component.For<IFrobService>()
                          .ImplementedBy<FrobService>()
                          .AsWcfService(new RestServiceModel("http://localhost/frobs")));

        Console.ReadKey();
    }
}

这是由卡斯温莎主办的WCF REST服务。

在“http:// localhost/frobs”上点一个浏览器,将接见所有浏览器,在“http:// localhost/frobs/Doob”上点一个浏览器。

问题回答

暂无回答




相关问题
Allow RESTful DELETE method in asp.net mvc?

im currently setting up asp.net to accept DELETE http verb in the application. However, when i send "DELETE /posts/delete/1" i always get a 405 Method not allow error. I tried to take a look at ...

Most appropriate API for URL shortening service

I ve just finished an online service for shortening URLs (in php5 with Zend Framework); you can enter an URL and you get an short URL (like tinyurl and such sites). I m thinking about the API for ...

Use HTTPClient or HttpUrlConnection? [closed]

We re implementing a REST client on JRE 1.4. Seems two good options for a client REST framework are HttpClient and HttpUrlConnection. Is there a reason to use HttpClient over the JRE s ...

Why can t I find the truststore for an SSL handshake?

I m using the Spring RESTTemplate on the client side to make calls to a REST endpoint. The client in this case is a Spring app and Tomcat is the servlet container. I m running into issues making a ...

Which Http redirects status code to use?

friendfeed.com uses 302. bit.ly uses 301. I had decided to use 303. Do they behave differently in terms of support by browsers ?

Three Step Buyonline The RESTful way

We are re-developing our buyonline functionality and we are doing it the RESTful way. The process is a three step one and the customer is asked to enter data at each step. Let s say the three URL s ...

热门标签