如何在Windows Server 2008上的IIS7中重命名虚拟目录(即更改虚拟路径名称)?
在服务器管理器中,我单击应用程序,选择基本设置,但显示当前别名的框显示为灰色,我无法编辑它.
我正在寻找一种解决方案,允许我编写本机Emacs Lisp代码,并在编译时将其转换为HTML,如Franz的htmlgen:
(html
((:div class "post")
(:h1 "Title")
(:p "Hello, World!")))
Run Code Online (Sandbox Code Playgroud)
当然我可以编写自己的宏,但是如果有任何关于这个问题的项目我很感兴趣.
您如何保护非开源代码免受泄漏?
今天,借助USB驱动器,互联网驱动器和电子邮件等技术,人们如何保护软件资产?
NUnit和MbUnit具有RowTest属性,允许您将不同的参数集发送到单个测试中.
[RowTest]
[Row(5, 10, 15)]
[Row(3.5, 2.7, 6.2)]
[Row(-5, 6, 1)]
public void AddTest(double firstNumber, double secondNumber, double result)
{
Assert.AreEqual(result, firstNumber + secondNumber);
}
Run Code Online (Sandbox Code Playgroud)
我曾经是这个功能的忠实粉丝.我到处都用它.但是,最近我不确定在单元测试中使用RowTest是否是个好主意.以下是更多原因:
单元测试必须非常简单.如果有错误,你不想花很多时间来弄清楚你的测试测试.当您使用多行时,每行都有不同的发送参数集,并测试不同的东西.
此外,我正在使用TestDriven.NET,它允许我从我的IDE,Visual Studio运行我的单元测试.使用TestDrivent.NET我无法指示运行特定的行,它将执行所有行.因此,当我调试时,我必须注释掉所有其他行,只留下我正在使用的那一行.
这是一个如何写今天的测试的例子:
[Test]
public void Add_with_positive_whole_numbers()
{
Assert.AreEqual(5, 10 + 15);
}
[Test]
public void Add_with_one_decimal_number()
{
Assert.AreEqual(6.2, 3.5 + 2.7);
}
[Test]
public void Add_with_negative_number()
{
Assert.AreEqual(1, -5 + 6);
}
Run Code Online (Sandbox Code Playgroud)
说我仍然偶尔会使用RowTest属性,但只有当我相信当我稍后需要处理它时它不会让我失望时.
你觉得在单元测试中使用这个功能是个好主意吗?
我如何只包含我的程序中使用的.Net框架的某些dll以及安装项目而不是安装整个框架?
谢谢
我应该为计数类成员使用无符号整数吗?
回答
例如,假设一个类
TList <T> = class
private
FCount : Cardinal;
public
property Count : Cardinal read FCount;
end;
Run Code Online (Sandbox Code Playgroud)
这确实有道理,不是吗?列表中存储的项目数不能为负数,那么为什么不使用无符号整数类型呢?我认为总是使用最不通用的(最特殊的)类型是一个很好的原则.
现在,迭代列表如下所示:
for I := 0 to List.Count - 1 do
Writeln (List [I]);
Run Code Online (Sandbox Code Playgroud)
当列表中存储的项目数为零时,编译器会尝试进行评估
List.Count - 1
Run Code Online (Sandbox Code Playgroud)
这导致一个很好的整数溢出(确切地说是下溢).结合调试器没有显示发生异常的适当位置的事实,这对我来说很难找到.
让我补充一点,如果你关闭溢出检查,结果错误将更难跟踪,因为那时你经常会访问不属于你的内存 - 这会导致未定义的行为.
从现在开始,我将为所有计数成员使用普通整数来避免这种情况.
如果这完全是胡说八道,请指出给我:)
(我只花了一个小时跟踪代码中的整数溢出,所以我决定分享一下 - 当然大多数人都会知道,但也许我可以节省一些时间.)
我有2个网站(www.mysite1.com和myweb2.com,这两个网站都在ASP.NET中,SQL服务器作为后端),我想将数据从一个站点传递到另一个站点.现在我很困惑是否使用Web服务或表格发布(从mysite1到myweb2中的页面)
谁能告诉我两者的优点和缺点?
在C#中,是否可以将重写的虚拟方法标记为final,因此实现者无法覆盖它?我该怎么办?
一个例子可以让它更容易理解:
class A
{
abstract void DoAction();
}
class B : A
{
override void DoAction()
{
// Implements action in a way that it doesn't make
// sense for children to override, e.g. by setting private state
// later operations depend on
}
}
class C: B
{
// This would be a bug
override void DoAction() { }
}
Run Code Online (Sandbox Code Playgroud)
有没有办法修改B以防止其他子C在编译时或运行时覆盖DoAction?
我有一个使用许多WCF服务的Web应用程序.我在各种环境(开发,UAT,生产等)中部署我的Web应用程序.每个WCF服务的URL对于每个环境都是不同的.我使用的是.NET 3.5和basicHttpBindings
Web应用程序使用框架在我的web.config文件中支持特定于计算机的设置.在实例化WCF服务客户端的实例时,我调用一个函数,该函数使用带有参数的构造函数重载来创建WCF服务客户端的实例:
System.ServiceModel.Channels.Binding binding,
System.ServiceModel.EndpointAddress remoteAddress
Run Code Online (Sandbox Code Playgroud)
实质上<system.serviceModel><bindings><basicHttpBinding><binding>,web.config中的配置已在C#代码中复制.
这种方法效果很好.
但是,我现在必须增强此方法以使用使用X509证书的WCF服务.这意味着我必须在C#代码中复制web.config中的以下附加设置:
<!-- inside the binding section -->
<security mode="Message">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="Certificate" algorithmSuite="Default" />
</security>
<behaviors>
<endpointBehaviors>
<behavior name="MyServiceBehaviour">
<clientCredentials>
<clientCertificate storeLocation="LocalMachine" storeName="My"
x509FindType="FindByThumbprint" findValue="1234abcd" />
<serviceCertificate>
<defaultCertificate storeLocation="LocalMachine" storeName="My"
x509FindType="FindByThumbprint" findValue="5678efgh" />
<authentication trustedStoreLocation="LocalMachine"
certificateValidationMode="None" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
Run Code Online (Sandbox Code Playgroud)
我在查找如何在C#中编写此配置时遇到一些困难.
两个问题
c# ×5
.net ×4
css ×1
delphi ×1
elisp ×1
html ×1
iis-7 ×1
inheritance ×1
macros ×1
printing ×1
security ×1
unit-testing ×1
wcf ×1
web-config ×1
web-services ×1