在 OpenRasta 中,我应该如何使用三种不同的编解码器注册资源,并通过在 URL 上附加扩展名来通过常规 Web 浏览器访问这些编解码器?以下似乎不起作用:
MediaType json = MediaType.Json.WithQuality(1f);
MediaType xml = MediaType.Xml.WithQuality(0.9f);
MediaType html = MediaType.Html.WithQuality(0.1f);
ResourceSpace.Has
.ResourcesOfType<ResourceBase>()
.WithoutUri
.TranscodedBy<MyXmlCodec>().ForMediaType(xml).ForExtension("xml")
.And.TranscodedBy<MyHtmlCodec>().ForMediaType(html).ForExtension("html")
.And.TranscodedBy<JsonDataContractCodec>().ForMediaType(json).ForExtension("json");
ResourceSpace.Has
// UserListResource inherits ResourceBase
.ResourcesOfType<UserListResource>()
.AtUri("/users")
.HandledBy<UserHandler>();
UserListResource
已注册并可以text/html
在常规网络浏览器中使用,但附加.xml
到 URL 只会给我一个 404。我试过这个:
ResourceSpace.Has
// UserListResource inherits ResourceBase
.ResourcesOfType<UserListResource>()
.AtUri("/users")
.And.AtUri("/users.xml")
.HandledBy<UserHandler>();
但这只会在和 上给我相同的text/html
表示。/users
/users.xml