在我的网络应用程序中,我的参数可以包含各种疯狂的字符(俄语字符,斜杠,空格等),因此不能总是在URL中表示为.
以快乐的方式发送它们将在大约50%的情况下起作用.像空格这样的东西已经在某处编码了(我猜是在Html.BuildUrlFromExpression中).但是其他东西(比如"/"和"*")则没有.
现在我不知道该怎么做了,因为如果我自己编码,我的编码会再次被部分编码并最终出错.如果我不对它们进行编码,则某些字符将无法通过.
我所做的是手动.replace()我遇到问题的角色.
这当然不是一个好主意.
想法?
- 编辑 -
我知道有很多编码/解码库供我使用.
它看起来像mvc框架已经尝试为我做,但不是完全.
<a href="<%=Html.BuildUrlFromExpression<SearchController>(c=>c.Search("", 1, "a \v/&irdStr*ng"))%>" title="my hat's awesome!">
Run Code Online (Sandbox Code Playgroud)
会让我
<a href="/Search.mvc/en/Search/1/a%20%5Cv/&irdStr*ng" title="my hat's awesome!">
Run Code Online (Sandbox Code Playgroud)
注意正斜杠,星号和&符号是如何不被转义的.为什么有些人逃脱而其他人没有逃脱?我怎么能正确地逃脱这个?
我做错了什么还是框架?
我想从文件foo.c读取行n1-> n2到当前缓冲区.
我试过了: 147,227r /path/to/foo/foo.c
但我得到:"E16:无效范围",但我确定foo.c包含超过1000行.
好的,我正在读取dat文件到一个字节数组.出于某种原因,生成这些文件的人在文件末尾放置了大约半毫克的无用空字节.有人知道一个快速的方法来削减这些吗?
首先想到的是从数组的末尾开始并向后迭代,直到找到除null之外的其他东西,然后将所有内容复制到那一点,但我想知道是否有更好的方法.
回答一些问题:你确定0字节肯定在文件中,而不是文件读取代码中有错误吗?是的,我确信这一点.
你能肯定削减所有尾随0吗?是.
文件的其余部分可以有任何0吗?是的,可能有0个其他地方,所以,不,我不能从头开始并在第0个停止.
我正在开发一个有一些要求的REST服务:
我目前提出的解决方案是拥有一个看起来像这样的自定义Authorization标头(这与amazon Web服务的工作方式相同):
Authorization: MYAPI username:signature
Run Code Online (Sandbox Code Playgroud)
我的问题是如何形成签名.当用户登录服务时,他们将获得一个密钥,他们应该能够使用该密钥对请求进行签名.这将阻止其他用户代表他们提交请求,但不会阻止他们伪造请求.
将要使用此服务的应用程序是一个iPhone应用程序,因此我认为我们可以在应用程序中嵌入一个公钥,我们可以进行额外的签名,但这是否意味着我们必须有两个签名,一个用户密钥和应用密钥的密钥?
任何建议都将不胜感激,我非常希望第一次能够做到这一点.
authentication rest authorization http-headers rest-security
我想要一个通用的,可重用的getPosition()方法,它会告诉我从流的起始点读取的字节数.理想情况下,我更喜欢使用它来处理所有的InputStream,因此当我从不同的源获取它们时,我不必包装它们中的每一个.
这样的野兽存在吗?如果没有,任何人都可以推荐现有的计数实施InputStream吗?
我正在使用联合客户端体验(SCE)SDK.有没有人成功为此创建自定义数据馈送?我希望能够在URL上托管masterfeed和其他feed,而不是像示例那样编译为嵌入式资源.例如,客户端应用程序将从中收集其源http://somesite/masterfeed.xml.
我相信这可以做到,但在SCE客户端的调试过程中我一直收到AccessViolation异常.
我有一个方法,我想打电话.但是,我正在寻找一种干净,简单的方法来杀死它或强迫它返回,如果执行时间太长.
我正在使用Java.
为了显示:
logger.info("sequentially executing all batches...");
for (TestExecutor executor : builder.getExecutors()) {
logger.info("executing batch...");
executor.execute();
}
Run Code Online (Sandbox Code Playgroud)
我认为TestExecutor班级应该implement Callable继续向这个方向发展.
但我想要做的就是停止,executor.execute()如果它花了太长时间.
建议...?
编辑
收到的许多建议都假设正在执行的方法需要很长时间才能包含某种循环,并且可以定期检查变量.然而,这种情况并非如此.因此,某些东西不一定是干净的,只会停止执行,这是可以接受的.
我想以类似于ESR的方式编写(或找到)有效错误报告指南.如何提出问题智能方式
有效的错误报告的主要技巧是什么?
我正在开发一个软件,需要知道何时发生PASTE EVENT(通过上下文菜单或ctrl + V)(仅适用于文件/目录).或多或少,TeraCopy或Copy Handler会发生类似的事情.复制然后粘贴时,TeraCopy会处理粘贴.
我或多或少知道如何捕获COPY EVENT,你只需要设置一个ClipboardViewer并捕获所有全局COPY EVENTS(实际上称为:WM_DRAWCLIPBOARD).你可以在这里学到:http:
//www.radsoftware.com.au/articles/clipboardmonitor.aspx但是ClipBoardViewer没有为你提供捕捉PASTE EVENT的能力.
我试图量化"网站的缓慢".在过去,您只需确保HTML是轻量级的,图像优化且服务器不会过载.在建立在现代内容管理系统之上的高端站点中,存在更多变量:第三方广告,跟踪器和各种其他标注,CDN的性能(有趣的是,有时内容传送网络使事情变得更糟),javascript执行,css超载,以及各种服务器端问题,如长查询.
显而易见的答案是每个开发人员清除缓存并不断查看Firebug插件的"net"部分.还有其他什么方法可以衡量"网站拖屁"吗?
c# ×3
java ×2
asp.net-mvc ×1
bytearray ×1
callable ×1
concurrency ×1
encoding ×1
events ×1
hook ×1
http-headers ×1
inputstream ×1
io ×1
measurement ×1
performance ×1
rest ×1
vim ×1
wpf ×1