问题列表 - 第7442页

重命名Windows Server 2008上的虚拟目录(IIS7)

如何在Windows Server 2008上的IIS7中重命名虚拟目录(即更改虚拟路径名称)?

在服务器管理器中,我单击应用程序,选择基本设置,但显示当前别名的框显示为灰色,我无法编辑它.

iis-7 windows-server-2008

40
推荐指数
3
解决办法
4万
查看次数

CSS 格式化 A4 打印

如何编写 CSS 样式以在打印时强制网页具有特定页边距,并且对 IE 和 Firefox 有效?

css printing

4
推荐指数
1
解决办法
2万
查看次数

是否有用于生成HTML的Emacs Lisp库?

我正在寻找一种解决方案,允许我编写本机Emacs Lisp代码,并在编译时将其转换为HTML,如Franz的htmlgen:

(html
 ((:div class "post")
  (:h1 "Title")
  (:p "Hello, World!")))
Run Code Online (Sandbox Code Playgroud)

当然我可以编写自己的宏,但是如果有任何关于这个问题的项目我很感兴趣.

html macros code-generation elisp

17
推荐指数
2
解决办法
1457
查看次数

保护软件公司知识产权(代码)的方法

您如何保护非开源代码免受泄漏?

今天,借助USB驱动器,互联网驱动器和电子邮件等技术,人们如何保护软件资产?

c# security

3
推荐指数
2
解决办法
845
查看次数

在单元测试中使用RowTest是一个好习惯

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 c# unit-testing

2
推荐指数
1
解决办法
409
查看次数

是否可以只包含必需的dll而不是整个.Net框架?

我如何只包含我的程序中使用的.Net框架的某些dll以及安装项目而不是安装整个框架?

谢谢

.net c# visual-studio

6
推荐指数
2
解决办法
524
查看次数

我应该使用无符号整数来计算成员吗?

我应该为计数类成员使用无符号整数吗?

回答

例如,假设一个类

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)

这导致一个很好的整数溢出(确切地说是下溢).结合调试器没有显示发生异常的适当位置的事实,这对我来说很难找到.

让我补充一点,如果你关闭溢出检查,结果错误将更难跟踪,因为那时你经常会访问不属于你的内存 - 这会导致未定义的行为.

从现在开始,我将为所有计数成员使用普通整数来避免这种情况.

如果这完全是胡说八道,请指出给我:)

(我只花了一个小时跟踪代码中的整数溢出,所以我决定分享一下 - 当然大多数人都会知道,但也许我可以节省一些时间.)

delphi integer-overflow

9
推荐指数
4
解决办法
1576
查看次数

Web服务与表单发布

我有2个网站(www.mysite1.com和myweb2.com,这两个网站都在ASP.NET中,SQL服务器作为后端),我想将数据从一个站点传递到另一个站点.现在我很困惑是否使用Web服务或表格发布(从mysite1到myweb2中的页面)

谁能告诉我两者的优点和缺点?

web-services

3
推荐指数
1
解决办法
4291
查看次数

是否可以将重写方法标记为final

在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?

.net c# inheritance

45
推荐指数
4
解决办法
1万
查看次数

根据环境更改WCF服务引用URL

我有一个使用许多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#中编写此配置时遇到一些困难.

两个问题

  • 任何人都可以推荐一种更好的方法来管理多个环境中的WCF服务参考URL吗?
  • 或者,有关如何在C#中复制上述web.config部分的任何建议都将受到欢迎

.net c# wcf web-config

7
推荐指数
2
解决办法
1万
查看次数