- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Nancy 找到 View 并处理所有内容后,我试图将一些文本(特别是几行 javascript 代码)注入(inject)到 HTML 响应中。 After
钩子(Hook)似乎是我想做的地方。我可以访问 Response
通过我给出的上下文访问对象,但我尝试从中检索任何数据的尝试失败了。它的类型是 Action<Stream>
所以我一直想把它写入内存,然后是一个字符串如下:
public HelloModule()
{
After += ctx => {
var stream = new MemoryStream();
ctx.Response.Contents.Invoke(stream);
stream.Position = 0;
using (var reader = new StreamReader(stream))
{
var content = reader.ReadToEnd();
}
};
Get["/"] = p => View["Issues/Views/SingleIssue"];
}
但是,当它运行时,我在 ctx.Response.Contents(stream);
行得到一个异常.异常(exception)是 InvalidOperationException
这只说明 "CSRF is not enabled on this request"
.
所以,我的问题是:如何让 Nancy 允许我访问当前 Response
的 HTML它生产的?或者我完全不了解我正在尝试如何做到这一点?有没有更好的办法?
编辑 2:这似乎是 SuperSimpleViewEngine 的问题。我刚刚创建了一个新的、干净的项目,只有一个 View 。 SSVE 可以重现它,但 Spark View 引擎可以正常工作。
编辑 1:
根据要求提供更多信息。上面的代码现在包含模块的整个构造函数。我没有自定义 Bootstrap 或其他逻辑。该 View 是一个使用默认 SuperSimpleViewEngine 的相当简单的 View ,它的组成如下:
Master.sshtml
<html>
<head>
<script type="text/javascript" src="/Scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.22.min.js"></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.21.custom.min.js"></script>
<script type="text/javascript" src="/Scripts/dais-exts.js"></script>
<link rel="stylesheet" type="text/css" href="/Content/Style.css" />
<link rel="stylesheet" type="text/css" href="/Content/jquery-ui-1.8.21.custom.css" />
@Section['Head']
</head>
<body>
@Section['Content']
</body>
</html>
SingleIssue.sshtml
@Section['Head']
<title>Hello!</title>
@EndSection
@Section['Content']
<h2>View/Edit Issue</h2>
<form id="issue-form" method="post">
<input type="hidden" name="HttpMethod" value="Put" />
<input type="submit" />
</form>
@EndSection
最佳答案
回答这个问题,让任何发现这个的人都知道发生了什么。
这实际上是 Nancy(版本 0.11)中的一个错误,并且仅在使用 SuperSimpleViewEngine 时发生。不幸的是,没有简单的解决方法或解决方案,但已对源代码进行了修复。因此,解决该问题的选项是:
关于c# - 南希访问/重写响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11718310/
我在解析请求文件时遇到问题。我的文件大小是 1338521 字节,但 Nancy 说,文件大小有时是 1751049 或 3200349。在我的 Windows PC 上它工作正常,在 Linux 服
我设置项目的步骤: 创建新的 asp.net 项目 安装包 Nancy.Viewengines.Razor 添加了 Views/hello.cshtml(简单的 hello world html) 添
我正在尝试获得第一个与 Nancy 一起使用的 Razor 模板,以及我的 .cshtml 的第一行... @inherits Nancy.ViewEngines.Razor.NancyRazorVi
SSVE是否支持嵌套迭代器? 我希望在SSVE View 中走动一个对象图(请参见下文),但我怀疑嵌套迭代器不是通往此处的方法。还有其他方法吗? 我知道SSVE是供内部使用的,并不是供整个生产使用的,
我正在使用 Corona SDK 将数据发布到我的 C# 服务器: headers["Content-Type"] = "application/x-www-form-urlencoded" head
我需要将一组对象从我的 Web 应用程序发送到我的 Nancy Web 服务以更新我的数据库。 只发送一个对象,它工作正常:在我的网络方法中,我使用 Request.Form..Value.Trim(
我有一个 RestSharp 客户端和 Nancy 自托管服务器。我想要的是 To send multipart form data from client and parse that data e
你能告诉我是否有特殊的 Razor 文件 _ViewStart.cshtml 南希支持吗?我知道它计划包含在内( here )。你能告诉我它现在是否可用吗?它目前对我不起作用。 谢谢 最佳答案 突发新
我知道这个问题是在一个月前提出的,但从未得到回答。我的程序正常启动,但在返回 View["Index", blogPost] 后找不到 Index.cshtml 并引发异常。 Get["/"] = p
遇到此处描述的问题 https://github.com/NancyFx/Nancy/issues/1528 具体来说,即使我按照我所理解的正确配置包括了 Razor View Engine,它也并不
我尝试在 URL 上使用 NancyModules 和 GET 字符串创建一个类,但是方法“Get”告诉我: "Error CS0021 Cannot apply indexing with [] t
我是一名优秀的程序员,十分优秀!