问题标签 [openrasta]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
878 浏览

.net - OpenRasta 项目是否在积极开发中

OpenRasta 是怎么回事,它是死项目吗?如果我访问http://openrasta.org/download.html并尝试执行以下操作:

我收到以下信息:

项目存储库不存在,但 -project 已指定。

我可以尝试从以下位置下载它:

https://github.com/openrasta/openrasta-stable/wiki/Downloading-and-Compiling-OpenRasta

但似乎没有 .NET 4.0 的版本

InfoQ 上有一段与 Sebastien Lambla 的录音,他在其中谈到 OpenRasta 3……但它在哪里?

0 投票
2 回答
374 浏览

json - 在 OpenRasta 中使用任意 JSON 对象

我似乎在 OpenRasta 文档或教程中找不到任何内容来说明如何使用任意 JSON 对象(即未使用 C# 类预定义的对象)来接收和响应客户端。

一种方法是使用JsonValue并编写一个自定义编解码器,该编解码器将仅使用 JsonValue 提供的(反)序列化功能。这应该很简单,不到 50 行代码,但我想知道 OpenRasta 中是否没有内置任何东西?

(JsonValue 的一个缺点是 MS 尚未发布它,因此您还不能将其部署给客户(参见 1.“附加使用权利”)。但在重要的情况下,任何其他 Json 库,如Json。 NET可以使用。)

0 投票
1 回答
254 浏览

url - OpenRasta URI 和方法绑定说明 - RESTful webservice

我将 Openrasta 用于我的 RESTful Web 服务,我对方法参数和 URI 有一点疑问

例如:我已经关注用户实体的设置。

配置:

PUT 的处理程序方法:

相同的 URI 将是http://localhost/User/1

请求正文将包含如下 JSON:

在这里,我的问题是:用两个参数定义 PUT 方法是否正确?如果这样做是正确的,那么 PUT 方法中的 userId 参数将包含与用户实体属性 UserId 相同的值。

而且,在 PUT 方法中,我需要验证这两个值是否相同,如果它们不同,我会返回 BadRequest,说明 URI 与请求中提供的实体不匹配。为什么我们应该明确地这样做,为什么在处理请求时不能处理它并且让 PUT 方法只接受用户实体作为参数?我是否严重遗漏了什么,或者我对这个设计的理解完全错误?请问有什么想法或意见吗?

0 投票
1 回答
166 浏览

openrasta - OpenRasta:优先处理请求或:使请求异步

两年前,OpenRasta 中有过关于异步请求处理的讨论: http ://groups.google.com/group/openrasta/browse_thread/thread/34a599e21bf65d53

谷歌搜索'openrasta'和'async'并没有比上面的链接更多,并且通过源代码(http://svn.caffeine-it.com/openrasta/trunk/src)的快速grep看起来没有希望任何一个。

那么是否已经可以使用 asp.net 对请求进行优先级排序(以便 IO 绑定的请求排队,而快速的请求将始终同步处理)?

0 投票
1 回答
155 浏览

asp.net-mvc-3 - 使用 OpenRasta 进行验证

我们正在启动一个新项目,在客户端,我们将使用一个 asp.net mvc3 应用程序,访问 OpenRasta 公开的资源。

asp.net mvc 内置了带有数据注释的验证,人们通常如何使用 OpenRasta 进行验证?

0 投票
1 回答
128 浏览

c# - 为什么 OpenWrap 会导致我的项目因“InitializeVisualStudioIntegration”编译错误而失败?

突然我无法编译以下 openrasta 项目(见最后的错误):

  • OpenRasta.Codecs.WebForms
  • OpenRasta.Hosting.AspNet

这发生在我做了两件事之后:

  1. 我从 wiki 安装了最新版本的 OpenWrap。这是我第一次安装 openwrap。我什么也没做,只是运行安装程序。没有乱来。

  2. 从 GitHub 拉取以下项目的最新版本:

    • OpenRasta.Core
    • OpenRasta.Codecs.WebForms
    • OpenRasta.Hosting.AspNet

然后我尝试重建我的主项目,其中包括对上述 OR 项目的项目引用。这给了我“InitializeVisualStudioIntegration”错误(见结尾)。

我在网上(http://tinyurl.com/3d8oxsf)发现了这个问题的提及,这与项目文件的嵌套级别有关,所以仅供参考,我的 OR 项目都生活在以下嵌套级别:

F:\Development\OpenRasta\openrasta-codecs-webforms\src\OpenRasta.Codecs.WebForms\OpenRasta.Codecs.WebForms.csproj

有什么想法吗?

谢谢

强尼

错误

“InitializeVisualStudioIntegration”任务不支持“WrapDescriptor”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性。OpenRasta.Codecs.WebForms

无法使用其输入参数初始化“InitializeVisualStudioIntegration”任务。

“InitializeVisualStudioIntegration”任务不支持“WrapDescriptor”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性。OpenRasta.Hosting.AspNet

无法使用其输入参数初始化“InitializeVisualStudioIntegration”任务。

0 投票
1 回答
123 浏览

openrasta - 在 OperationInterceptor 中访问 MethodInfo

我创建了几个自定义属性,将它们附加到处理程序中的方法。自定义属性不仅仅是“标记器”,例如“RequiresAuthenticationAttribute”。一个简化的例子:

在我的拦截器中,它被调用为使用 EnforceParam 注释的方法,我想访问值“Account”。我目前正在为此做的是:

为此,我必须将“方法”属性添加到 OpenRasta 的 ReflectionBasedMethod。

如果不破解 OpenRasta(我在 2.0 顺便说一句),同样可以完成吗?

0 投票
1 回答
566 浏览

openrasta - 如何在 OpenRasta 中使用 /prefix/{suffix} 形式的 URI 模板处理多部分 POST?

我正在尝试使用 /content/{contentId} 的 URI 模板声明在 OpenRasta 中处理多部分文档的 POST,但它失败了。配置是

处理程序方法如下:

我正在使用以下 curl 命令进行测试

如果我从 URI 模板中删除“{contentId}”并相应地修改处理程序,则 POST 工作正常。

关于如何解决的任何想法?日志文件如下。谢谢——罗兰

0 投票
1 回答
437 浏览

iis - 在 IIS 中记录 OpenRasta 异常

如何启用在 IIS 中的处理程序或编解码器等中发生的任何异常的日志记录?

在谷歌上搜索时,我发现了几种不同的方法来设置跟踪。其中之一确实有效,但跟踪文件 (xml) 对用户不是很友好。我想要一个标准文本日志文件之类的东西,我可以使用标准工具查看和操作。

0 投票
3 回答
885 浏览

openrasta - OpenRasta:Uri 似乎与处理程序选择无关

当为相同类型但具有不同 URI 的两个处理程序注册时,处理程序选择算法在确定要使用哪个处理程序时似乎不会检查 uri。

如果你运行下面的程序,你会注意到只有 HandlerOne 会被调用(两次)。我调用“/one”还是“/two”都没有关系,后者应该由HandlerTwo处理。

我做错了什么还是要在 OpenRasta 中解决这个问题?(我正在使用 2.0.3.0 顺便说一句)

更新 我有一种感觉,我可以使用 UriNameHandlerMethodSelector 来完成我想要的类似操作,如http://trac.caffeine-it.com/openrasta/wiki/Doc/Handlers/MethodSelection所述,但是我必须注释每个处理程序方法并执行 AtUri().Named(),这在我看来就像样板文件,我想避免这种情况。AtUri(X).HandledBy(Y) 不是清楚地说明了 X 和 Y 之间的联系吗?