我有一个基于WCF REST服务模板40(CS)的WCF REST 4.0项目.我想暴露简单的服务端点URL 而不用尾部斜杠.例如:
我将上面的URL看作资源请求(而不是目录),这就是为什么我不认为尾部斜杠在这里是合适的.
不幸的是,我似乎无法得到我想要的行为,因为我总是被重定向到带有斜杠的/ cars /和/ trucks/.
这是我如何定义"汽车"路线和服务方法 - 请注意,我没有在任何路径或URI模板定义中包含任何斜杠:
// Global.asax.cs
RouteTable.Routes.Add(new ServiceRoute("cars", new WebServiceHostFactory(), typeof(CarService)));
// CarService.cs
[WebGet(UriTemplate = "")]
public List<Car> GetCollection()
{
return DataContext.GetAllCars();
}
Run Code Online (Sandbox Code Playgroud)
请注意,MVC不会以这种方式工作.使用MapRoute方法,我可以将请求直接路由到http://www.domain.com/about,而无需重定向到/ about /.如何在WCF REST 4.0中获得相同的行为?
John Resig(jQuery成名)提供了简单JavaScript继承的简洁实现.他的方法激发了我进一步改进事物的努力.我重写了Resig的原始Class.extend功能,包括以下优点:
性能 - 在类定义,对象构造和基类方法调用期间减少开销
灵活性 - 针对较新的ECMAScript 5兼容浏览器(例如Chrome)进行了优化,但为旧版浏览器提供了相同的"垫片"(例如IE6)
兼容性 - 在严格模式下验证并提供更好的工具兼容性(例如VSDoc/JSDoc注释,Visual Studio IntelliSense等)
简单 - 您不必成为理解源代码的"忍者"(如果您丢失ECMAScript 5功能,它甚至更简单)
稳健性 - 通过更多"角落案例"单元测试(例如在IE中覆盖toString)
因为它似乎太好了,我想确保我的逻辑没有任何根本的缺陷或错误,看看是否有人可以建议改进或反驳代码.有了这个,我提出了这个classify功能:
function classify(base, properties)
{
/// <summary>Creates a type (i.e. class) that supports prototype-chaining (i.e. inheritance).</summary>
/// <param name="base" type="Function" optional="true">The base class to extend.</param>
/// <param name="properties" type="Object" optional="true">The properties of the class, including its constructor and members.</param>
/// <returns type="Function">The class.</returns>
// quick-and-dirty method overloading
properties = (typeof(base) === "object") ? …Run Code Online (Sandbox Code Playgroud) ecmascript-5 ×1
inheritance ×1
javascript ×1
oop ×1
resig ×1
rest ×1
slash ×1
trailing ×1
wcf ×1