1、首先,去下载MSDNURLRewriting.zip,不要在网络上直接下载URLRewriter.dll,一般网络上的URLRewriter.dll都是未经过编译重新生成只有8k大小,而实际的大小是20k左右。
2、MSDNURLRewriting.zip解压后会有MSDNURLRewriting.msi文件,点击安装,在安装文件中可以找到URLRewritingCode.sln,点击打开,然后重新生成解决方案,就可以得到重新生成的URLRewriter.dll(20k大小)。
3、把URLRewriter.dll复制一份到项目的bin文件下,然后添加引用。
4、下面就是Web.Config文件的配置了
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
</configSections>
<RewriterConfig>
<Rules>
<!-- Rules for Blog Content Displayer -->
<RewriterRule>
<LookFor>~/(.[0-9]*)\.html</LookFor>
<SendTo>~/ArticleDetail.aspx?MyID=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
<httpHandlers>
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
</httpHandlers>
5、在IIS中找到自己的网站,点属性,然后找主目录中的配置,然后弹出应用程序配置对话框,选择添加,添加的可执行文件路径为c:\windows \microsoft.net\framework\v2.0.50727\aspnet_isapi.dll。
比如下列数组
最长递增子序列为1, 2, 4, 6,当我们考虑到第i个元素时,当前最大的递增子序列是完全由前一个元素的最大递增子序列确定的,而不管前面的排列是怎样,因此,这个问题满足无后效性,可以用动态规划来实现
LIS[i+1] = max{1, LIS[k] + 1}, array[i+1] > a[k] , k从0到i
#include <iostream>
using namespace std;
int main() {
int a[8] = {1, -4, 3, -3, -2, -1, 0, 4};
int LIS[8] = {};
int f[8] = {};
int max_index = 0;
int size, s;
for (int i = 0; i < 8; i++) {
LIS[i] = 1;
for (int j = 0; j < i; j++) {
if (LIS[i] < LIS[j] + 1 && a[i] > a[j])
LIS[i] = LIS[j] + 1;
}
if (LIS[i] > LIS[max_index])
max_index = i;
}
size = s = LIS[max_index];
f[--size] = a[max_index];
for (int j = max_index-1; j >= 0; j--) {
if (LIS[j]+1 == LIS[max_index]) {
f[--size] = a[j];
max_index = j;
}
}
for (int i = 0; i < s; i++)
cout << f[i] << " ";
cout << endl;
return 0;
}
现在有个项目需要使用VS2008,然后就开始开装,并打好全部补丁,安装好打VS2008,也没有问题,但是如果再打VS2010,就提示出错,不能使用,心想可能是安装VS2008破坏了VS2010的文件,又重安装一下VS2010,结果还是一样,只要是先打开VS2008,就无法再打开VS2010,想来想去,打VS2008补丁装了一个DXperience refloct的文件,卸装试一下,两者都可打开,不相信是这个软件造成的,又安装一次,还是打不开,证明这个文件是有问题的。
再次说明了。