小编Hem*_*ant的帖子

WCF:我应该如何在客户端和服务器中维护合同类?

我正在使用服务器和客户端(自然)的WCF应用程序.在服务器项目中,我使用契约属性定义了类.

现在,当服务器准备就绪时,我添加了服务引用,并为我创建了代理.我用它,它确实工作正常.

我想问的问题是,如果我创建一个包含带有契约属性的类定义的公共DLL并将其用于服务器和客户端(而不是使用Visual Studio为客户端生成的类),是否可以.如果我使用公共类,我不必担心在自动代码生成时将泛型集合转换为数组.这很傻吗?可能吗?以前有人这样做过吗?这样做可以吗?

部署方案使得安全Intranet中的客户端数量有限(很少),并且只要服务器发生更改,就可以更新现有客户端.

.net wcf client-server

5
推荐指数
1
解决办法
883
查看次数

在哪里写单元测试代码?

我认为这将是一个常见的问题所以我搜索了一段时间却找不到它.

我即将开始一个新项目(C#,.net 3.5),我在想我应该在哪里编写单元测试代码.我可以创建一个单元测试项目并在那里编写所有代码,或者我可以用"被测试类"本身编写单元测试代码.

你有什么建议?为什么?在选择方法之前需要考虑的事项(警告?)?

编辑:关于用"被测代码"编写单元测试代码:我猜测从生产组件中删除测试代码并不困难.这是条件编译的用途.对?

只是抛出这一点,因为答案拒绝第二种选择只是因为生产组件会变得肥胖.

.net c# unit-testing

5
推荐指数
1
解决办法
476
查看次数

使工作线程等待任务的最有效CPU方法是什么?

在我当前的C#/ NET 3.5应用程序中,我有一个任务队列(线程安全),我有5个工作线程,必须不断查找队列中的任务.如果任务可用,任何一个工作人员都会使任务出列并采取必要的操作.

我的工作线程类如下:

public class WorkerThread
{
    //ConcurrentQueue is my implementation of thread safe queue
    //Essentially just a wrapper around Queue<T> with synchronization locks
    readonly ConcurrentQueue<CheckPrimeTask> mQ; 
    readonly Thread mWorker;
    bool mStop;

    public WorkerThread (ConcurrentQueue<CheckPrimeTask> aQ) {
        mQ = aQ;
        mWorker = new Thread (Work) {IsBackground = true};
        mStop = false;
    }

    private void Work () {
        while (!mStop) {
            if (mQ.Count == 0) {
                Thread.Sleep (0);
                continue;
            }

            var task = mQ.Dequeue ();
            //Someone else might have been …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading synchronization

5
推荐指数
1
解决办法
2529
查看次数

在delphi中使用COM DLL - MSVCR80D.dll错误中的访问冲突

我需要使用使用.NET框架创建的DLL.此DLL使COM可见.

我想在使用Delphi 2006创建的应用程序中使用此DLL.我已按照以下步骤操作:

  1. 使用regscr32注册DLL.
  2. 使用Delphi IDE导入类型库.它创建了_TLB.pas文件.签名是在TLB文件中创建的.

    function TValidationRequest.Process(var meterBSN: WideString; var NICSerial: WideString; 
                                        var partNumber: WideString; var otherConfig: WideString; 
                                        out returnMessage: WideString): Smallint;
    begin
      Result := DefaultInterface.Process(meterBSN, NICSerial, partNumber, otherConfig, returnMessage);
    end;
    
  3. 我尝试使用以下代码片段调用该方法.

procedure TForm1.buttonClick(Sender: TObject);
var
  valReq: TValidationRequest;
  s1, s2, s3, s4, s5: WideString;
  o: WideString;
begin
  valReq := TValidationRequest.Create (Self);
  try
    valReq.Process (s1, s2, s3, s4, o);
    MessageDlg(o, mtInformation, [mbOK], 0);
  finally
    valReq := nil;
  end;
end;

但是在调用Process方法时出现以下错误. alt text http://i41.tinypic.com/2daf1ix.png

请问您能提出任何解决方案吗?

.net delphi com dll delphi-2006

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

确定ASP.NET MVC中部分视图中当前视图的名称

我在测试ASP.NET MVC应用程序中有部分视图.该视图负责显示应用程序菜单按钮.

我想更改当前活动页面的按钮颜色.目前我写了类似的东西:

<ul id="menu">
    <% var activeClass = (string)(ViewData["currentPage"]) == "Home" ? "activeMenuButton" : ""; %>    
    <li><%= Html.ActionLink ("Home", "Index", "Home", new { @class = activeClass })%></li>

    <% activeClass = (string)(ViewData["currentPage"]) == "About" ? "activeMenuButton" : ""; %>    
    <li><%= Html.ActionLink ("About", "About", "Home", new { @class = activeClass })%></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

并在控制器操作中设置视图数据:

//in home action
ViewData["currentPage"] = "Home";

//in About action
ViewData["currentPage"] = "About";
Run Code Online (Sandbox Code Playgroud)

这有效但我必须修改每个控制器动作.有没有更好的方法来自动检测视图,并以某种方式更改部分视图代码以相应地更改颜色.

css c# asp.net-mvc partial-views

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

在ASP.NET网站中使用状态服务器时如何避免单点故障

在我当前的项目中,我们必须创建一个网站(ASP.NET MVC),该网站可能有足够的负载来请求服务器场.我了解如果使用服务器场,会话状态必须存储在其他位置,例如SQL Server数据库或状态服务器.

经过一些实验,我们倾向于使用状态服务器机制,但事实上它会有单点故障,让我感到紧张.在使用状态服务器时,有什么方法可以避免"单点故障"吗?

asp.net asp.net-mvc state-server server-farm

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

在ASP.NET MVC视图页面中放置jQuery代码的位置?

我刚刚开始学习jQuery + ASP.NET MVC.无论我阅读有关jQuery的任何教程,他们都建议所有jQuery代码都应该在head元素中.

现在在ASP.NET MVC项目中,我有一个负责head元素的母版页.在其他视图页面中,我获得了绘制body元素的内容占位符.

我现在很困惑.我应该忽略将jQuery保留在head元素中的建议,还是有一些方法可以在每个视图页面中编写不同的jQuery代码?

asp.net-mvc jquery

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

如何将WCF中的服务访问限制为一组Windows帐户?

我有一个WCF服务,它使用netTcp绑定和传输安全性.它使用Windows身份验证(默认).

一切顺利,但我想确保只有一个选择的Windows用户帐户可以使用此服务而不是域中的每个人.

有没有办法实现这一点,以便选择用户帐户可以写在配置文件中,服务将使用它们(使用属性排除)?

windows authentication wcf

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

如何测试TCP服务器的实现?

我已经编写了一个TCP服务器实现,通过它我创建了一个用作TCP回显服务的应用程序。

现在,我想从以下方面测试此回显服务器

  • 它可以处理多少个连接
  • 响应时间是多少
  • 它使用多少内存和CPU

请您建议任何标准方法/工具来测试此回显服务器。我了解TCP和echo服务器实施都是相当标准的做法,因此我希望找到成熟的工具来对其进行测试。

PS:我可以编写自己的测试应用程序,但是我不想这样做,因为如果遇到问题,我需要确定是服务器做错了。我不想最后测试我的测试客户端。

我使用C#和.NET 3.5编写了此实现,尽管我认为与该问题无关。

testing tcp tcplistener tcpserver

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

为什么int和uint比较在一种情况下失败但在另一种情况下没有?

考虑以下计划:

static void Main (string[] args) {
    int i;
    uint ui;

    i = -1;
    Console.WriteLine (i == 0xFFFFFFFF ? "Matches" : "Doesn't match");

    i = -1;
    ui = (uint)i;
    Console.WriteLine (ui == 0xFFFFFFFF ? "Matches" : "Doesn't match");

    Console.ReadLine ();
}
Run Code Online (Sandbox Code Playgroud)

上述程序的输出是:

Doesn't match
Matches
Run Code Online (Sandbox Code Playgroud)

当未经检查的整数-1到无符号整数的转换是0xFFFFFFFF时,为什么第一次比较失败?(而第二个通过)

.net c#

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