我想将web.config的system.serviceModel部分分成一个单独的文件,以方便一些环境设置.我的努力没有结果.当我尝试使用这种方法时.wcf代码抛出一个异常:"'System.ServiceModel.ClientBase的类型初始值设定项1引发了异常.任何人都可以告诉我我做错了什么?
Web.config文件:
<configuration>
<system.serviceModel configSource="MyWCF.config" />
....
Run Code Online (Sandbox Code Playgroud)
MyWCF.config:
<system.serviceModel>
<extensions>
...
</extensions>
<bindings>
...
</bindings>
<behaviors>
...
</behaviors>
<client>
...
</client>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud) 我有多个网格显示基于给定过滤器的数据(在使用REST Api的Web应用程序中).显示的数据结构始终相同(以简化问题),但根据用户所在的屏幕,显示的结果不同.
此外,这是问题,必须禁用某些结果,以便用户无法选择它们.
示例:Foo有N条.如果我想向父亲(foo)添加一个新的子(bar),我会进入搜索屏幕,但我希望过滤后的网格显示为已经与父亲相关的残疾儿童.
目前我通过根据场景和"禁用"我不想要的结果执行特定连接来控制服务器上的此问题(数据库查询).但是这种方法导致我无法重用查询(由于特定的连接.也许我需要搜索Bars int order将它们与其他父亲Baz联系起来,我想要禁用已经与当前父亲相关的条...)
另一种方法可能如下:
在开始实施此解决方案之前,我想知道是否有更好的选择.我确信这是一个反复出现的问题,我不想重新发明轮子.
任何策略或建议?
编辑:显示示例:
假设这个模型:
Category N:M Item
SalesPromotion N:M Item
Run Code Online (Sandbox Code Playgroud)
我有两个不同的屏幕:一个显示项目属于一个类别,另一个显示项目属于一个促销.在每个屏幕中,我都可以搜索项目并将它们添加到Category或SalesPromotion中.但是当我在搜索项目时,我希望已经属于Category/SalesPromotion的项目显示为已禁用(或者为了简单起见未在此示例中显示).我可以在服务器中执行此操作,执行以下查询:
-- Query for search Items in Category screen
SELECT * FROM ITEMS i
LEFT JOIN ItemsCategories ic on ic.ItemId = i.ItemId
WHERE ic.CategoryId IS NULL OR ic.CategoryId <> @CurrentCategoryId
-- Query for search Items in SalesPromotion screen
SELECT * FROM ITEMS i
LEFT JOIN ItemsSalesPromotions isp on isp.ItemId= i.ItemId
WHERE isp.PromotionId IS NULL OR isp.PromotionId …Run Code Online (Sandbox Code Playgroud) 当我尝试在VSTS任务中执行NUnit测试时,我收到以下错误:
Warning: The path 'C:\a\1\s\INCASOL.IP\packages' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
Run Code Online (Sandbox Code Playgroud)
我在VSTS中有这些任务:
注意我已设置"自定义测试适配器的路径".
我认为NUnit的dll已正确复制到packages文件夹,因为在"Nuget restore"任务中我可以看到以下内容:
Added package 'NUnit.2.6.4' to folder 'C:\a\1\s\INCASOL.IP\packages'
Run Code Online (Sandbox Code Playgroud)
注意:NUnit版本是2.6.4,我正在使用托管代理
continuous-integration nunit azure-devops azure-pipelines-build-task
我需要在静态类中获取或访问我的IoC容器.这是我的(简化)场景:
我在一个Startup类中注册ASP .net Web Api的依赖项(但我也是为MVC或WCF注册的.我有一个DependecyResolver项目,但为了简单起见,请考虑以下代码)
// Web Api project - Startup.cs
public void Configuration(IAppBuilder app)
{
HttpConfiguration config = new HttpConfiguration();
var builder = new ContainerBuilder();
// ... Omited for clarity
builder.RegisterAssemblyTypes(AppDomain.CurrentDomain.GetAssemblies())
.AsClosedTypesOf(typeof(IHandle<>))
.AsImplementedInterfaces();
// ...
IContainer container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
// ...
}
Run Code Online (Sandbox Code Playgroud)
然后,在一个单独的类库中,我有我的静态类(为了清晰起见,再次简化):
public static class DomainEvents
{
private static IContainer Container { get; set; }
static DomainEvents()
{
//Container = I need get my Autofac container here
}
public static void Register<T>(Action<T> callback) where …Run Code Online (Sandbox Code Playgroud) 我想了解使用消息的最佳做法。我已经阅读过MassTransit文档,并且已经在搜索有关此内容,但我无法得出任何结论。
我有一个发布消息的api(托管总线实例)。这些消息是多种多样的,因为此api不是微服务(用于购买,销售等的消息)。
我该如何组织我的消费者/队列?
我有一个场景,我想使用反射来使用 FluentValidation 进行验证。像这样的事情:
public class FooValidator : AbstractValidator<Foo>
{
public FooValidator(Foo obj)
{
// Iterate properties using reflection
var properties = ReflectionHelper.GetShallowPropertiesInfo(obj);
foreach (var prop in properties)
{
// Create rule for each property, based on some data coming from other service...
//RuleFor(o => o.Description).NotEmpty().When(o => // this works fine when foo.Description is null
RuleFor(o => o.GetType().GetProperty(prop.Name)).NotEmpty().When(o =>
{
return true; // do other stuff...
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
调用ReflectionHelper.GetShallowPropertiesInfo(obj)返回对象的“浅层”属性。然后,我为每个属性创建一条规则。这是我获取对象属性的代码:
public static class ReflectionHelper
{
public static IEnumerable<PropertyInfo> …Run Code Online (Sandbox Code Playgroud) c# ×3
.net ×1
asp.net-3.5 ×1
autofac ×1
azure-devops ×1
datagrid ×1
javascript ×1
masstransit ×1
nunit ×1
rabbitmq ×1
reflection ×1
servicebus ×1
sql ×1
static-class ×1
store ×1
validation ×1
wcf ×1
web-config ×1