小编Joh*_*ers的帖子

如何使用WSDL文件创建WCF代理?

我有一个旧的WSDL文件,我想使用WCF与服务进行通信.

WSDL是从ASMX生成的(我想但我不确定).

与它沟通所需的步骤是什么?

wcf wsdl

23
推荐指数
3
解决办法
6万
查看次数

关于Ruby on Rails上验证码的建议

我想在Rails项目中实现一个表单提交的验证码,但我不知道该怎么做.我倾向于简单的实现,使用时的可靠性,因为它太复杂,因为我的应用程序不需要太高的安全级别.

有人有什么建议吗?

captcha ruby-on-rails

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

线程与单线程

总是保证多线程应用程序比单线程应用程序运行得更快吗?

我有两个线程从数据源填充数据但不同的实体(例如:数据库,来自两个不同的表),似乎应用程序的单线程版本比具有两个线程的版本运行得更快.

为什么会这样?当我看一下性能监视器时,两个cpu都非常灵巧?这是由于上下文切换?

驱动CPU并充分利用它的最佳实践是什么?

我希望这不是模棱两可的.

.net c# cpu multithreading

23
推荐指数
2
解决办法
5933
查看次数

拦截来自客户端的Web服务的SOAP消息

我有一个与Web服务通信的客户端.我与之通信的类是通过wsdl.exe生成的C#类.我现在想记录所有传入和传出的消息.

到目前为止我所做的是编写一个继承自动生成的C#类的类,并重写了GetReaderForMessage方法.这样我可以或多或少地像这样访问传入的消息:

protected override XmlReader GetReaderForMessage(SoapClientMessage message, int bufferSize)
{
    System.Xml.XmlReader aReader = base.GetReaderForMessage(message, bufferSize);
    System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
    doc.Load(aReader);
    string content = doc.InnerXml.ToString();
    System.Xml.XmlReader aReader2 = System.Xml.XmlReader.Create(new System.IO.StringReader(content));

    return aReader2;
}
Run Code Online (Sandbox Code Playgroud)

显然我对这个解决方案不太满意,因为基本上我正在创建两个xml读者.一个用于读取SOAP消息的内容,另一个用于返回方法调用方.另外,我不能用GetWriterForMessage方法做同样的事情.

但也许我只是做起来太困难了.例如,是否可以直接读取SoapClientMessage对象的内容?我已经阅读了一些文章,建议我应该在这里使用SoapExtensions,但是从我能理解的情况来看,只有我创建的'客户'本身就是一个Web服务,在这种情况下它不是.

有什么建议?

c# soap web-services asmx

23
推荐指数
2
解决办法
5万
查看次数

C#代理是否是线程安全的?

如果你有一个带有委托成员变量的类实例,并且多个线程调用该委托(假设它指向一个长时间运行的方法),是否存在任何争用问题?

你需要锁定委托还是每个线程调用委托指向的方法是否安全,因为每个线程都有自己的调用堆栈?

c# multithreading delegates thread-safety

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

为什么在Func和Expression <Func>之间lambda表达式参数不明确?

假设我有一个班级:

class MyClass {
    public int MyMethod(Func<int, int> f) { return 0; }
    public int MyMethod(Expression<Func<int, int>> f) { return 1; }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用lambda表达式调用该方法时,我收到一个编译错误,指出调用在两个重载之间是不明确的:

var myClass = new MyClass();
myClass.MyMethod(x => 1 + x); // Error!
Run Code Online (Sandbox Code Playgroud)

当然,使用显式类型调用可以正常工作:

myClass.MyMethod((Func<int, int>)(x => 1 + x)); // OK, returns 0
myClass.MyMethod((Expression<Func<int, int>>)(x => 1 + x)); // OK, returns 1
Run Code Online (Sandbox Code Playgroud)

表达式树包含更多信息(实际代码),我可能希望在可用时使用此信息.但我也希望我的代码能够与代表合作.不幸的是,这种模糊性使得我必须找到另一种方法来区分两个调用,这会混淆一个干净的API.

C#规范没有说明这个具体情况,所以在这个意义上,行为确实符合规范.

但是,有一个论点要求表达式树应该优先于委托.该Compile方法充当从表达式树到委托的显式转换.表达式树包含更多信息,当您编译为委托时,您将丢失该信息.另一方面没有转换.

有没有理由不喜欢表达树?

.net lambda expression-trees

23
推荐指数
1
解决办法
836
查看次数

是否返回IEnumerable <>线程安全?

我有一个Visual Studio 2008 C#.NET 3.5项目,我希望有一个线程安全的Foo对象池.

public class FooPool
{
    private object pool_lock_ = new object();
    private Dictionary<int, Foo> foo_pool_ = new Dictionary<int, Foo>();

    // ...

    public void Add(Foo f)
    {
        lock (pool_lock_)
        {
            foo_pool_.Add(SomeFooDescriminator, f);
        }
    }

    public Foo this[string key]
    {
        get { return foo_pool_[key]; }
        set { lock (pool_lock_) { foo_pool_[key] = value; } }
    }

    public IEnumerable<Foo> Foos
    {
        get
        {
            lock (pool_lock_)
            {
                // is this thread-safe?
                return foo_pool_.Select(x => x.Value);
            }
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# thread-safety .net-3.5

23
推荐指数
3
解决办法
4430
查看次数

使用HTTPS的XML名称空间URI?

xmlns拥有https协议的URI 更好吗?

例如,这是手册的推荐方式:

<http xmlns="http://www.springframework.org/schema/security"/>
Run Code Online (Sandbox Code Playgroud)

使用这种方式是合法的还是更好的?

<http xmlns="https://www.springframework.org/schema/security"/>
Run Code Online (Sandbox Code Playgroud)
  1. 是否有尝试连接到xmlnsURI 定义的地址的XML解析器?
  2. 解析器总是按xsi:schemaLocation属性下载模式?

xml schema uri xml-namespaces xml-parsing

23
推荐指数
1
解决办法
3801
查看次数

在线GUI设计工具

是否有某个基于Web的应用程序,您可以在其中为程序UI制作模型?它不必出口到任何有意义的东西,但它不会受到伤害.需要向客户提供几种UI设计(尽我所能),但在网络上找不到任何工具.

user-interface web-services

22
推荐指数
1
解决办法
9万
查看次数

ISO标准街道地址?

是否有ISO标准地址格式?我似乎找不到一个,我想知道对象和数据库设计的目的.

(一个显示一系列格式的有趣文档是:http://www.bitboost.com/ref/international-address-formats.html,但它很疯狂!)

standards iso

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