我有url重写规则,将www.domain2.com重定向到domain1.com根目录下的子文件夹(让我们称之为此文件夹子项目).在我的控制器中,我需要构建一个原始未修改路径的URL,但Request.Url属性(如AbsoluteUri或LocalPath)始终包含子项目子文件夹.
换句话说,如果用户键入:
www.domain2.com/controller/action
Run Code Online (Sandbox Code Playgroud)
urlrewrite使它成为:
www.domain1.com/subproject/controller/action
Run Code Online (Sandbox Code Playgroud)
我希望重建原始网址:
www.domain2.com/controller/action
Run Code Online (Sandbox Code Playgroud)
我可以硬编码从url中删除子项目并使用domain2开始url但是我需要一个通用的代码段,因为这个url重建将在一个可重用的库中.domain2可以在我的应用程序的设置中,但该子文件夹呢?
在参考中,这是重写规则:
<rewrite>
<rules>
<rule name="Redirect to subproject">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(www.)?domain2.com" />
<add input="{PATH_INFO}" pattern="^/subproject/" negate="true" />
</conditions>
<action type="Rewrite" url="\subproject\{R:0}" />
</rule>
</rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)
谢谢
所以,想象一下你有几个数组,颜色和形状,像这样:
Colors: {
Yellow,
Blue,
Red
}
Shapes: {
Square,
Circle,
Diamond
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我想将颜色按字母顺序排序,我可以这样做:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:nil ascending:YES selector:@selector(localizedCompare:)];
NSArray *sortedColors = [colors sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
[sortDescriptor release];
Run Code Online (Sandbox Code Playgroud)
但是我如何将Shapes排序为我重新排序Color的顺序.我并不是说将形状按字母顺序排列 - 我的意思是将形状按字母顺序排列成颜色......?
我对使用Java InputStreams时close()方法的用法有一些疑问.从我看到和从大多数开发人员那里读到的内容,你应该总是在不再需要的时候在InputStream上显式调用close().但是,今天我正在研究使用Java属性文件,我发现的每个例子都有这样的:
Properties props = new Properties();
try {
props.load(new FileInputStream("message.properties"));
//omitted.
} catch (Exception ex) {}
Run Code Online (Sandbox Code Playgroud)
使用上面的示例,无法显式调用close(),因为InputStream在使用后无法访问.我已经看到了许多类似的InputStreams用法,尽管它似乎与大多数人对明确关闭的说法相矛盾.我通读了Oracle的JavaDocs,并没有提到Properties.load()方法是否关闭了InputStream.我想知道这是否普遍可以接受,或者是否更喜欢做更像以下的事情:
Properties props = new Properties();
InputStream fis = new FileInputStream("message.properties");
try {
props.load(fis);
//omitted.
} catch (Exception ex) {
//omitted.
} finally {
try {
fis.close();
} catch (IOException ioex) {
//omitted.
}
}
Run Code Online (Sandbox Code Playgroud)
哪种方式更好和/或更有效?或者它真的重要吗?
虽然在您的应用程序中找到并使用此信息并不是一个好习惯,但有没有办法找到您拥有的iPhone/iPod/iPad型号.例如:2G/3GS/4G等
我目前有两个单独的应用程序,都执行单独的任务,但是当我需要一个应用程序使用另一个应用程序时,在有限的场合时间.
所以我用一个函数来检查所需的应用程序是否存在:
public static boolean isIntentAvailable(Context context, String action)
{
final PackageManager packageManager = context.getPackageManager();
final Intent intent = new Intent(action);
List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
}
Run Code Online (Sandbox Code Playgroud)
如果是,那么我使用以下内容在那里开始一个额外的活动:
if (isIntentAvailable(ListPOI.this, "com.me.myapp.MY_MAP"))
{
Intent i = new Intent("com.me.myapp.MY_MAP");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("place", true);
startActivity(i);
}
Run Code Online (Sandbox Code Playgroud)
setFlags表示如果用户按下home,然后他们返回第一个应用程序,它会打开,它不会打开这里调用的第二个应用程序.
这一切都很好,第一次.然而,在第二次调用它之后,第二个应用程序恢复,所以它没有获取已经通过的"额外",我怎样才能确保我得到额外的?
我正在使用Enterprise Library.我想将列(整数类型)映射到Enum Type.
说
Enum BloodGroup Type
{
OPositive,
ONegative,
ABPositive,
ABNegative,
BPositive,
BNegative,
NotSet
}
Run Code Online (Sandbox Code Playgroud)
我将Database Table的列映射到C#Types(Class Employee)属性.
IRowMapper<Employee> addressMapper = MapBuilder<Employee>
.MapAllProperties() // map all properties
.Map(p=>p.BloodGroup) // override BloodGroup property
.WithFunc(rec => rec.IsDBNull(rec.GetOrdinal("BloodGroup"))
? BloodGroup.NotSet
: BloodGroup.OPositive)
.Build();
Run Code Online (Sandbox Code Playgroud)
代码工作正常但我想在WithFun 扩展方法中映射Enum的多个条件. 我的意思是类似的
.WithFun(rec=> rec.IsDBNull(rec.GetOrdinal("BloodGroup")) ? BloodGroup.NotSet
rec.GetOrdinal("BloodGroup")==1 ?BloodGroup.OPositive
rec.GetOrdinal("BloodGroup")==2 ?BloodGroup.ONegative
)
Run Code Online (Sandbox Code Playgroud)
帮我查一下多种情况?
我想说
int x = magic(), y = moremagic();
return i => i + (x/y);
Run Code Online (Sandbox Code Playgroud)
并将x捕获为常量而不是变量引用.这个想法是x永远不会改变,所以当表达式稍后编译时,编译器可以进行常量折叠并产生更有效的代码 - 即x/y通过指针解引用到闭包记录中来计算一次而不是每次调用.
没有办法在方法中将x标记为只读,并且编译器不够聪明,无法检测到在创建表达式后它不会更改.
我不想手工构建表达式.有什么好主意吗?
更新:我最终使用奇妙的LinqKit来构建一个部分评估器,它将执行我想要的替换.只有当您知道相关引用不会改变时,转换才是安全的,但它适用于我的目的.可以通过在其中添加额外的一两个检查来限制部分评估仅限于您控制的闭包的直接成员,这在检查LinqKit中提供的示例代码时非常明显.
/// <summary>Walks your expression and eagerly evaluates property/field members and substitutes them with constants.
/// You must be sure this is semantically correct, by ensuring those fields (e.g. references to captured variables in your closure)
/// will never change, but it allows the expression to be compiled more efficiently by turning constant numbers into true …Run Code Online (Sandbox Code Playgroud) 目前我正在开发一个PHP脚本,用于从MySQL数据库中的条目输出CSV文件.我的问题在于如何正确输出值.MySQL数据库中的许多条目都包含逗号和引号,如果我只是将它们清楚地打印到文件中,它会破坏CSV文件的格式.
我知道我可以在引号中包围文本,但包含引号的条目会弄乱文件的格式.
我的问题是,我该怎么做才能防止这种情况发生?
另外,新行会影响文件的解释吗?
另外,我宁愿不在PHP中使用fputcsv函数.我试图让PHP脚本输出文件的内容(带有适当的标题),而不是写入新文件.
提前致谢!
此致,celestialorb
我有一个python应用程序需要luanch一个word文档.是否有任何选项只能从python中读取具有读取模式的word文档?