我有一个<div>包含许多<p>元素,并且需要将一些样式仅应用于<p>每个<div>具有特定类(cnt)的第一个内部.
请注意这个问题可能与SO上的其他问题类似,但我所需要的角色应仅适用于课程cnt,这使其与众不同.
//I use YUI 3 Reset and Grid:
<link href="http://yui.yahooapis.com/3.4.0/build/cssfonts/fonts.css" rel="stylesheet" type="text/css" />
<link href="http://yui.yahooapis.com/3.4.0/build/cssgrids/grids.css" rel="stylesheet" type="text/css" />
<div class="cnt">
<p>Number 1</p>
<p>Number 2</p>
<p>Number 3</p>
</div>
// I'm using this class without success!"
.cnt p:first-child
{
background-color:Red;
}
// Other classes could create some conflict
.cnt p
{
margin: 10px 0px 10px 0px;
}
.cnt h2, .cnt h3, .cnt h4, .cnt h5, .cnt h6
{
font-size: …Run Code Online (Sandbox Code Playgroud) 我有一个User实体,它有一个HasCompletedSecurity属性,表明该特定是否User已经回答了系统所需的安全问题的数量.系统所需的安全问题的数量是可配置的,并从配置文件中检索.User该类应如何访问配置的信息?
我目前有一个IConfigurationService接口,我有实现,ConfigurationManager如果它可用,使用或等效的Azure.我通过静态InjectionService类封装了对我的DI容器的访问权限,并且我正在解析配置的值,如下所示:
public class User
{
private static readonly IConfigurationService _configurationService =
InjectionService.Resolve<IConfigurationService>();
public bool HasCompletedSecurity
{
get
{
// Uses the static _configurationService to get the
// configured value:
int numberOfRequiredResponses =
GetConfiguredNumberOfRequiredResponses();
return this.SecurityQuestionResponses.Count()
>=
GetConfiguredNumberOfRequiredResponses();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这当然是ServiceLocator反模式的一个例子,我不喜欢它.静态依赖使单元测试任何使用此类的东西都很笨拙.
我正在使用实体框架并从这里获取提示我不想通过DI容器传递我的实体来为它们提供依赖关系,所以......我应该如何访问配置的值呢?
编辑:将这个确切的示例放在一边(我确实感谢关于它的正确架构的建议),我感兴趣的一个更大的问题是如何管理来自实体的服务的非静态引用?答案只是以你永远不需要的方式构建实体吗?
c# domain-driven-design dependency-injection service-locator
我希望在我的WCF服务上有一个函数,其返回类型作为接口,但是当我从客户端调用它时,我收到一个System.Object,而不是实现服务发送的接口的类.
以下是一些示例代码:
[ServiceContract]
public interface IService
{
[OperationContract]
string SayHello();
[OperationContract]
IMyObject GetMyObject();
}
public interface IMyObject
{
int Add(int i, int j);
}
[DataContract]
public class MyObject : IMyObject
{
public int Add(int i, int j)
{
return i + j;
}
}
Run Code Online (Sandbox Code Playgroud)
在这项服务的实施中,我有:
public class LinqService : IService
{
public string SayHello()
{
return "Hello";
}
public IMyObject GetMyObject()
{
return new MyObject();
}
}
Run Code Online (Sandbox Code Playgroud)
SayHello()运作良好,但GetMyObject()返回一个System.Object.如何更改此代码以便GetMyObject()返回实现的对象IMyObject?
编辑1 …
给出以下界面:
public interface IMyProcessor
{
void Process();
}
Run Code Online (Sandbox Code Playgroud)
我希望能够注册多个实现并让我的DI容器将其中的可枚举注入到这样的类中:
public class MyProcessorLibrary
{
private readonly IMyProcessor[] _processors;
public MyProcessingThing(IMyProcessor[] processors)
{
this._processors = processors;
}
public void ProcessAll()
{
foreach (var processor in this._processors)
{
processor.Process();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?我当前MyProcessorLibrary的IMyProcessor实现静态查找所有实现,但如果可以的话,我宁愿通过容器来实现.我正在使用Unity,但我很好奇其他容器是否支持它.
编辑:
谢谢你到目前为止的答案; 要清楚我想注入MyProcessorLibrary另一个类,并将其构建为依赖对象树的连接的一部分,例如
public class MyProcessorRepository
{
public MyProcessorRepository(MyProcessorLibrary processorLibrary)
{
}
}
public class MyProcessorService
{
public MyProcessorService(MyProcessorRepository processorRepository)
{
}
}
var container = new UnityContainer();
// Register a bunch of IMyProcessors... …Run Code Online (Sandbox Code Playgroud) 假设我有一个将从多个线程调用的类,并且我将在此类的私有字段中将一些数据存储在ImmutableDictionary中
public class Something {
private ImmutableDictionary<string,string> _dict;
public Something() {
_dict = ImmutableDictionary<string,string>.Empty;
}
public void Add(string key, string value) {
if(!_dict.ContainsKey(key)) {
_dict = _dict.Add(key,value);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这可以通过多个线程以这种方式调用,你会得到关于字典中已存在的密钥的错误吗?
Thread1检查字典看到false Thread2检查字典看到false Thread1添加值并引用_dict更新Thread2添加值,但它已经添加,因为它使用相同的引用?
c# multithreading immutability thread-safety base-class-library
我想从一个表中的每个部门找到两个最高工资,这个部门有部门号,工资和其他各种栏目.我得到了这个答案; 它肯定有效,但我无法理解逻辑.
select *
from emp a where 2 > (select count( distinct(sal))
from emp
where sal > a.sal and a.deptno=deptno)
order by deptno;
Run Code Online (Sandbox Code Playgroud) 我写了一个有两种方法的ASP.NET Web服务.运行正常,显示在http:// localhost:85/Services/NopService.asmx?WSDL中
如果我添加另一种方法,我无法访问新方法!
相应的文件位于D:\ Web\NopCommerceStore\Services\NopService.asmx和..asmx.cs中没有其他任何名称的文件!
如果我只是添加另一种方法,如:
[WebMethod]
public string Hi(string you)
{
return "Hi " + you;
}
Run Code Online (Sandbox Code Playgroud)
并导航到http:// localhost:85/Services/NopService.asmx?WSDL 新方法没有显示 - 甚至在以下情况之后:重启IIS清除temp.asp.net文件夹清除hash.web
如何使用新方法更新我的Web服务?
谢谢!
c# ×5
asp.net ×1
css ×1
html ×1
immutability ×1
interface ×1
mysql ×1
sql ×1
wcf ×1
web-services ×1