问题标签 [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.
dotnetopenauth - 使用 OpenRasta HTTPEntity 作为返回响应时得到 406?
在我的处理程序代码中,尝试使用必要的 openid 标头/正文返回重定向响应以执行用户代理重定向以进行身份验证,但是当我在操作结果中使用 HTTPEntity 设置返回响应时,我得到 406 Not Acceptable 在客户端?那有什么问题?以下代码不完整,具有原型质量!
这是我的处理程序代码:
openrasta - 在 OpenRasta 中,如何在自定义 IPipelineContributor 中获取对选定处理程序的引用?
在编写自定义IPipelineContributor
时,不清楚如何获取对所选处理程序的引用。IDisposable
自定义贡献者的目的是在返回结果后处理任何实现的处理程序。
给定以下代码示例:
让ICommunicationContext
我们可以访问 OpenRasta 自己的类型系统并显示所选处理程序的类型:[OpenRasta.TypeSystem.ReflectionBased.ReflectionBasedType] = {CLR Type: MySelectedHandler}
。但是,不清楚如何获取实际用于满足请求的处理程序实例。
rest - 后端的通用架构?
我们正在努力对我们正在设计的一些新系统的架构选择进行前瞻性展望。几乎我们想要构建后端系统,无论我们决定使用什么接口(WinForms、Silverlight、MVC、Webforms、WPF、IOS(IPad/Iphone)等...),我相信这只会尖叫 REST。我们的组织通常只会使用 Microsoft API,但由于我不知道 WCF-Web-Api 何时发布,我们希望尽快开始,看来我们别无选择。
我们想在这里采取一些小步骤来增加买断的机会。所以我们不想用 IIS 设置另一台服务器。
在可预见的未来,我们将只使用 WinForms 和 WebForms。我在想我们可以在本地机器上使用 Nancy,但以 RESTFul 方式与它通信。这样,将来它应该像设置服务器并将所有客户端重定向到该服务器而不是本地一样简单。
我从未使用过 NancyFX 或 OpenRasta,但是,据我所知,这听起来很合适。
所以问题是:
- 我正在考虑的方法是一种好方法吗
- 听起来 NancyFX 或 OpenRasta 会更合适吗?
- 我们应该等待 WCF-Web-API 的任何原因,如果是这样,是否有人有一个大概的发布日期。
api - 具有可选 QueryString 参数的 OpenRasta 的解决方法
我从去年看到了这个错误报告。
我想知道当有使用openrasta的可选查询字符串参数时,是否有人已经实施或建议允许匹配?
c# - OpenRasta 是否支持 HEAD HTTP 方法?
我正在尝试配置 OpenRasta 资源以响应 HTTP HEAD 操作。我已经尝试过使用 UriName、不同的方法名称和签名,但我还没有找到解决方案。这是我使用的配置代码:
这是方法AssetHandler
:
样品要求:
回复:
在 OpenRasta 日志中:
这是 web.config 的干净版本:
build - OpenRasta + OpenWrap?
我是 OpenWrap 和 OpenRasta 的新手。除了这似乎是获得 OpenRasta 的方式之外,对 Openwrap 并不是很感兴趣。无论如何,我已经安装了 openwrap 并按照以下教程操作 T: OpenWrap 教程
当然,我将 OpenRasta-Core 添加到我的项目中:
一切都没有错误地完成,但 OpenRasta 没有添加到我的项目中:
错误 3 找不到类型或命名空间名称“OpenRasta”(您是否缺少 using 指令或程序集引用?) C:\Testing\OpenRasta\src\TestOpenRasta\Program.cs 7 7 TestOpenRasta
我对 openwrap 的工作方式不太熟悉,我不确定它是否应该添加对您的项目的引用,或者是否应该使用一些 msbuild 魔法来动态添加引用。
我的项目是使用 .Net Framework 4.0 构建的,看起来 wrap 目录仅包含 .Net Framework 3.5 版本。我需要下载源代码并手动构建吗?
openrasta - 删除默认管道贡献者
删除默认管道贡献者(OpenRasta 2.0.3)的首选方法是什么?
我在网上没有找到很多,但一种方法似乎是编写自定义DependencyRegistrar,即从DefaultDependencyRegistrar 派生,然后例如覆盖AddDefaultContributors()。除此之外,我怀疑这是否是仅删除单个管道贡献者的最佳方法,它似乎需要额外的每个主机(ASP 与 InMemory)工作,而我认为将管道处理程序弄乱是与主机无关的事情。
但即使我走这条路,这里的这个人似乎也没有成功:http ://groups.google.com/group/openrasta/browse_thread/thread/d72b91e5994f402b 我尝试了类似的事情,但到目前为止还不能t 让我的自定义注册器替换默认值。
那么删除默认管道贡献者的最简单和最好的方法是什么,最好以与主机无关的方式?在某处有一个可行的例子吗?
methods - Openrasta 的 Get 方法在资源处理程序中的优先级问题
我是 openRasta 框架的新手。我有一个名为 Project 的资源。我有 2 种不同类型的 GET 要在此资源上完成,因为我需要关于这两个 GET 的不同信息。我的配置是这样的
我在Handler中的方法如下
每当我对该资源执行一些 GET 操作时,无论我的 URL 是什么,例如http://localhost/projects或http://localhost/miniprojects),每次都会调用处理程序类中带有 GetXXX 名称的第一个方法。当我更改处理程序文件中 GetXXX 方法的顺序时,会调用另一个方法。
所以我的问题是,Handler 中的方法序列是否决定了调用哪个 GetXXX 方法?此外,我在片段中提到的每个 GetXXX 方法的 HttpOperation 属性中指定了不同的“ForUriName”,但序列仍然优先。
任何人都可以帮助我解决这个问题吗?或者让我知道我是否遗漏了什么。
提前致谢。
openrasta - PUT 上的错误 405,IIS 日志中的“ignoreme.rastahook”
我们有一个带有 OpenRasta 的 Asp.Net 应用程序,当我们将它部署在我们的大多数 IISes (7.5) 上时,它工作正常。但是,在一个安装中,对于 PUT 请求,客户端会收到“405 Method not allowed”错误,并且日志会显示如下条目:
2011-11-15 01:18:20 192.168.0.164 PUT /myapp/ignoreme.rastahook - 80 - 192.168.0.131 AClient 405 0 0 57
ignoreme.rastahook似乎来自 OpenRasta 在 OpenRastaModule.cs 中的重写:
HttpContext.Current.RewritePath(VirtualPathUtility.ToAppRelative("~/ignoreme.rastahook"), false);
虽然 GET 和 POST 工作正常,但不确定 HTTP 方法是否真的是造成差异的原因。关于可能发生的事情或从哪里开始调试的任何想法?我目前的猜测是工作服务器和不工作的服务器之间存在一些 IIS 配置差异。
OpenRasta 版本是 2.0.3,我们在 .net 4 上运行该应用程序。
更新: Fwiw,当在我的服务器的 web.config 中将 OpenRasta 处理程序映射的动词属性从“*”更改为“GET,POST”时,我在日志文件中也得到了一个“ignoreme.rastahook” PUT,但带有 404,而不是 405,因此这似乎与上述问题不同。
更新 2 我想当我启用 WebDAV 时,我可以重现 405 / ignoreme.rastahook 问题。这导致我访问https://github.com/openrasta/openrasta-stable/wiki/Installing-OpenRasta-Under-IIS,它指出
请注意,WebDAV 模块可能会导致 IIS 7.5 出现问题
更新 3 我验证了WebDAV 是导致其他服务器出现问题的原因,但如果有人知道如何在不完全禁用 WebDAV 的情况下解决问题,我将不胜感激。
rest - 如何在 REST 中支持部分更新 (PATCH)
我想为我的资源实现部分更新,因为我有大量资源并想从中更新部分信息。我已经浏览了以下链接,但无法
确定是使用 HTTP POST 还是 PATCH 方法。
http://jacobian.org/writing/rest-worst-practices/
https://github.com/archiloque/rest-client/issues/79
https://datatracker.ietf.org/doc/html/draft-dusseault-http-patch-16
http://greenbytes.de/tech/webdav/draft-dusseault-http-patch-06.html
http://jasonsirota.com/rest-partial-updates-use-post-put-or-patch
http://bitworking.org/news/296/How-To-Do-RESTful-Partial-Updates
https://github.com/dharmafly/jsonpatch.js
请为此提出任何有效的解决方案。