在ASP.NET中,有没有办法获得真正的原始URL?
例如,如果用户浏览到" http://example.com/mypage.aspx/%2F ",我希望能够获得" http://example.com/mypage.aspx/%2F "比" http://example.com/mypage.aspx// ".
我当然喜欢干净的方式,但我可以使用反射或访问模糊属性的hacky方法.
目前,我尝试在Authorization-header(可行)中使用uri,但我不能依赖于那里总是存在的.
编辑:
我真正想要做的是能够区分" http://example.com/mypage.aspx/%2F "和" http://example.com/mypage.aspx/%2F%2F ".
看起来ASP.NET首先将"%2F%2F"转换为"//",然后将斜杠转换为单个斜杠.
所以只是重新编码它是行不通的.
要在C#4.0中实现"方法缺失" - 语义等,您必须实现IDynamicObject:
public interface IDynamicObject
{
MetaObject GetMetaObject(Expression parameter);
}
Run Code Online (Sandbox Code Playgroud)
据我所知,IDynamicObject实际上是DLR的一部分,所以它不是新的.但我还没有找到很多关于它的文件.
有一些非常简单的示例实现(这里和这里的 fx ),但是有人能指出更完整的实现或一些真正的文档吗?
特别是,你究竟应该如何处理"参数" - 参数?
我有一个Java applet,其中包含几个可嵌入网页的可聚焦元素.
是否可以使applet中的元素成为页面其余部分的逻辑Tab键顺序的一部分?
澄清一下:我想使用Tab从applet外部的元素移动到applet的第一个元素,然后使用Shift+ Tab移回applet外部的元素.类似地,我想使用Tab从applet的最后一个元素移动到web页面的下一个元素,并使用Shift+ Tab移回.
我想在登录时使用JavaScript加密用户的密码和用户名(使用Ajax).我知道JavaScript存在几个非对称加密库.这是安全通信密码的可行策略吗?
我知道SSL存在,但这不是问题.
我有一组具有属性的对象.我想找到最简单的一组标准,它们将准确指定其中一个对象(我不关心哪一个).
例如,给定{a = 1,b = 1,c = 1},{a = 1,b = 2,c = 1},{a = 1,b = 1,c = 2},指定b == 2(或c == 2)会给我一个独特的对象.
同样,给定{a = 1,b = 1,c = 1},{a = 1,b = 2,c = 2},{a = 1,b = 2,c = 1},指定b == 2和c == 2(或b == 1 && c == 1或b == 2 && c == 1)将给我一个独特的对象.
这听起来像一个已知的问题,有一个已知的解决方案,但我无法找到问题的正确表达,以允许我谷歌它.
根据Anders的说法,在C#4.0中,我们将获得动态类型或"静态类型是动态的"对象.这将允许任何方法调用解析在运行时而不是编译时发生.但是,是否有设施将动态对象绑定到某种合同(从而也可以获得完整的智能感知),而不是允许对它进行任何调用,即使您知道它不可能有效.
即不仅仅是
dynamic foo = GetSomeDynamicObject();
Run Code Online (Sandbox Code Playgroud)
能够投射或转换它以将其约束为已知合约,例如
IFoo foo2 = foo.To<IFoo>;
Run Code Online (Sandbox Code Playgroud)
甚至只是
IFoo foo2 = foo as IFoo;
Run Code Online (Sandbox Code Playgroud)
在C#4.0的现有材料中找不到类似的东西,但它似乎是动态范例的逻辑扩展.有更多信息的人?
我想实现的是同时实现了一个C++/CLI类IList和IList<T>.
由于它们具有重叠的名称,我必须明确地实现其中一个,并且自然选择应该是IList.
索引器的隐式实现是:
using namespace System::Collections::Generic;
generic<class InnerT> public ref class MyList : public System::Collections::IList, IList<InnerT> {
// ...
property InnerT default[int]{
virtual InnerT get(int index);
virtual void set(int index, InnerT item);
}
}
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试声明IList的默认索引器.
我的猜测是这样的:
property Object^ System::Collections::IList::default[int]{
virtual Object^ System::Collections::IList::get(int index);
virtual void System::Collections::IList::set(int index, Object^ item);
}
Run Code Online (Sandbox Code Playgroud)
但那只是给了我
错误C2061:语法错误:标识符'default'
任何提示?
我正在编写一个应用程序来监听一些HTTP通信。我正在使用WinPcap访问TCP / IP数据包。是否有一个库可以帮助我解析HTTP消息?
我已经实现了一个基本的解析器,但是我想要更成熟的东西:我不断遇到新的变化(分块消息,gzip压缩等)。
.NET框架可能具有HTTP解析器,但是当TCP数据包不是来自直接TCP连接时,我看不到任何使用它的方法。
我想检测qmake目前是否正在使用MingW(win32-gcc)或Visual Studio(win32-msvc200X)构建.
目前我正在使用以下构造:
windows{
contains(QMAKE_CC, gcc){
# MingW
}
contains(QMAKE_CC, cl){
# Visual Studio
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎并不特别强大.有没有更好的办法?
我正在研究需要解密PKCS#7加密数据的解决方案,最好是在C#中.据我所知,.NET api通过System.Security.Cryptography.Pkcs命名空间支持这一点.但是,似乎实现只能在字节数组上工作.那么当我有一个不适合内存的大型加密文件时,我该怎么办?
我在这里遗漏了什么,或者是否有另一种方法在Stream级别而不是使用bytearrays?
.net ×2
c# ×2
c#-4.0 ×2
cryptography ×2
dynamic ×2
encryption ×2
algorithm ×1
applet ×1
asp.net ×1
c++-cli ×1
duck-typing ×1
focus ×1
http ×1
indexer ×1
java ×1
javascript ×1
mingw ×1
parsing ×1
qmake ×1
rawurl ×1
set ×1
tab-ordering ×1
unique ×1
url ×1
url-encoding ×1