Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Openrasta验证程序问题_C#_Rest_Openrasta - Fatal编程技术网

C# Openrasta验证程序问题

C# Openrasta验证程序问题,c#,rest,openrasta,C#,Rest,Openrasta,我在OpenRasta中遇到了一个关于验证器的奇怪问题。我的验证器配置文件中有一个条目 ResourceSpace.Uses.CustomDependency<IValidator<Customer>, CustomerValidator>(DependencyLifetime.PerRequest); ResourceSpace.Uses.CustomDependency(DependencyLifetime.PerRequest); 我正在使用REST客户端测试我

我在OpenRasta中遇到了一个关于验证器的奇怪问题。我的验证器配置文件中有一个条目

ResourceSpace.Uses.CustomDependency<IValidator<Customer>, CustomerValidator>(DependencyLifetime.PerRequest);
ResourceSpace.Uses.CustomDependency(DependencyLifetime.PerRequest);
我正在使用REST客户端测试我的API。在处理程序中调用我的API方法时,验证程序并不是每次都被调用。我觉得我在配置中犯了一些错误


有人能告诉我修复此问题需要做什么吗?

您是否启用了管道参与者来拦截和执行验证


查看完整的配置和处理程序代码示例会有所帮助。

将ResourceValidationInterceptor和CustomerValidator的依赖项生存期从PerRequest更改为Transient,如下所示

ResourceSpace.Uses.CustomDependency<IOperationInterceptor, ResourceValidationInterceptor>(DependencyLifetime.Transient);

ResourceSpace.Uses.CustomDependency<IValidator<Customer>, CustomerValidator>(DependencyLifetime.Transient);
ResourceSpace.Uses.CustomDependency(DependencyLifetime.Transient);
ResourceSpace.Uses.CustomDependency(DependencyLifetime.Transient);

这就解决了我的问题。

我有一个ResourceValidationInterceptor,它在配置文件
ResourceSpace.Uses.CustomDependency(DependencyLifetime.PerRequest)中有一个条目如果您需要更多详细信息,请告诉我。