当.NET System.Uri类解析字符串时,它会对输入执行一些规范化操作,例如对方案和主机名进行下限.它还会修剪每个路径段的尾随时段.后一个特性对于OpenID应用程序是致命的,因为一些OpenID(如从Yahoo发布的那些)包括base64编码的路径段,其可以以句点结束.
如何禁用Uri类的周期修剪行为?
使用UriParser.Register初始化的解析器注册我自己的方案GenericUriParserOptions.DontCompressPath可以避免周期修剪,以及其他一些对OpenID也不可取的操作.但我无法为HTTP和HTTPS等现有方案注册新的解析器,我必须为OpenID做这些.
我尝试的另一种方法是注册我自己的新方案,并编程自定义解析器以将方案更改回标准HTTP方案作为解析的一部分:
public class MyUriParser : GenericUriParser
{
private string actualScheme;
public MyUriParser(string actualScheme)
: base(GenericUriParserOptions.DontCompressPath)
{
this.actualScheme = actualScheme.ToLowerInvariant();
}
protected override string GetComponents(Uri uri, UriComponents components, UriFormat format)
{
string result = base.GetComponents(uri, components, format);
// Substitute our actual desired scheme in the string if it's in there.
if ((components & UriComponents.Scheme) != 0)
{
string registeredScheme = base.GetComponents(uri, UriComponents.Scheme, format);
result = this.actualScheme + result.Substring(registeredScheme.Length);
}
return result;
} …Run Code Online (Sandbox Code Playgroud) 我应该保留我要返回的responseData吗?
// METHOD
-(NSData *)dataFromTurbine:(NSString *)pathToURL {
NSURL *url = [[NSURL alloc] initWithString:pathToURL];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
NSHTTPURLResponse *response = nil;
NSError *error = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&error];
[request release];
[url release];
return responseData;
}
Run Code Online (Sandbox Code Playgroud)
.
// CALLED
NSData *newData = dataFromTurbine(kTurbineDataPath);
[doSomething newData];
Run Code Online (Sandbox Code Playgroud) 我已经编程c ++大约一年了,当我看到我看到很多对STL的引用.
有人可以告诉我它的作用吗?
它的优点和缺点是什么?
它还能给我带来的VCL或MFC?
谢谢
如何在该方法中调用test()?这是可能的?
(function() {
tinymce.create('tinymce.plugins.WrImagerPlugin', {
init : function(editor, url) {
editor.addCommand('mceWrImagerLink', function() {
//--> how can i refer to test() here?
});
},
test: function () {alert('test');}
}
});
tinymce.PluginManager.add('wr_imager', tinymce.plugins.WrImagerPlugin);
})();
Run Code Online (Sandbox Code Playgroud) 对于桌面浏览器,所有现代浏览器都使用缩放功能,因此我们可以使用PX,但如果在移动设备上可以看到相同的网站,则px不适合放大移动浏览器.或者使用px也适用于移动浏览器.
即使我们不关心IE 6,如果我们不为移动设备制作不同的网站,我们是否应该使用em代替px,同样的网站将在桌面和手机上看到(iphone,blackberry,windows mobile,opera迷你,机器人等?
我有一个UIButton文本"探索应用程序"和UIImage(>)在Interface Builder它看起来像:
[ (>) Explore the app ]
Run Code Online (Sandbox Code Playgroud)
但我需要UIImage在文本之后放置:
[ Explore the app (>) ]
Run Code Online (Sandbox Code Playgroud)
我怎样才能UIImage向右移动?
在SQL Server 2008中:
我有一张桌子,我想沿着以下几行做一些事情:
SELECT T1.stuff, T2.morestuff from
(
SELECT code, date1, date2 from Table
) as T1
INNER JOIN
(
SELECT code, date1, date2 from Table
) as T2
ON T1.code = T2.code and T1.date1 = T2.date2
Run Code Online (Sandbox Code Playgroud)
这两个子查询完全相同.有没有办法在不重复子查询脚本的情况下做到这一点?
谢谢
卡尔
我正在编写PRISM/MVVM/WPF应用程序.它是一个LOB应用程序,因此存在许多复杂的规则.我注意到View Model开始变得臃肿.有两个主要问题.
一个是为了维护MVVM,我做了很多让我感觉很烦的事情就像在我的VM中添加一堆属性一样.视图绑定到这些属性以跟踪视图特定信息的感觉.例如,布尔值跟踪VM中长时间运行的进程的状态,因此视图可以在长时间运行的进程工作时禁用其某些控件.我已经读过这个问题可以用Attached Behaviors解决.我会更多地了解这一点.在网上看到的示例MVVM应用程序中,这并不是什么大问题,因为它们过于简化了.
另一个问题是我的VM中的命令数量.现在有四个命令.我使用Josh Smith的RelayCommand(基本上是PRISM中的DelegateCommand)在VM中定义命令,因此所有业务逻辑都存在于VM中.我考虑将每个命令移动到单独的工作单元中.我不确定最好的方法.
您使用哪种模式来保持VM清洁?我已经可以感觉有人回答"你的观点和虚拟机太复杂,你应该将它们分解成许多视图/虚拟机".从Ux的角度来看,它肯定不是太复杂 - 有2个按钮,一个组合框和一个列表框.此外,从逻辑的角度来看,它是一个有凝聚力的领域.话虽如此,我很想知道其他人是如何处理这类问题的.
感谢您的输入.
我一直在C#项目中使用Infragistics UltraWinGrid一段时间,虽然它非常漂亮,但有时运行起来有点沉重(在Visual Studio中编辑它可能很危险).
我正在寻找更轻的替代品.外观(始终是Infragistics的一大优势)并不像功能那么重要.也就是说,我正在寻找一个增强的DataGridView:
c# ×2
iphone ×2
.net ×1
c++ ×1
closures ×1
cocoa-touch ×1
css ×1
encryption ×1
http ×1
infragistics ×1
ios ×1
javascript ×1
join ×1
mvvm ×1
objective-c ×1
signature ×1
sql ×1
stl ×1
subquery ×1
this ×1
tinymce ×1
uibutton ×1
ultrawingrid ×1
uri ×1
wpf ×1
xhtml ×1