我有一个接口,定义了一些带属性的方法.需要从调用方法访问这些属性,但我所拥有的方法不会从接口中提取属性.我错过了什么?
public class SomeClass: ISomeInterface
{
MyAttribute GetAttribute()
{
StackTrace stackTrace = new StackTrace();
StackFrame stackFrame = stackTrace.GetFrame(1);
MethodBase methodBase = stackFrame.GetMethod();
object[] attributes = methodBase.GetCustomAttributes(typeof(MyAttribute), true);
if (attributes.Count() == 0)
throw new Exception("could not find MyAttribute defined for " + methodBase.Name);
return attributes[0] as MyAttribute;
}
void DoSomething()
{
MyAttribute ma = GetAttribute();
string s = ma.SomeProperty;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个项目清单.当我创建列表时,每个项目都有相同的机会被选中.但是当一个项目被选中时,它的机会会下降,而其他机会会上升.如果在此过程中添加了一个新项目,那么它应该被选中的机会最大,并且在选中它时机会会下降.我正在寻找一个可以实现这个C#的好算法.
Generalizaed想法:我有5个项目,随着时间的推移,所有5个项目将被选中20%的时间.我试图让选择尽可能接近20%,减少对外界的影响.如果存在,将更多/更少地选择它以使其恢复正常.
我从MVC4 beta升级到RC和最新的autofac.以下操作正确绑定,但现在两个参数都为null.我看到他们改变了关于格式化程序的事情,但我不确定是什么原因引起了我的问题
[HttpPost]
RedirectModel MyAction(string value1, string value1)
Run Code Online (Sandbox Code Playgroud)
请求
Method: POST
Accept: application/json
URL: api/controller/myaction
BODY: {"value1":"1000", "value2":"foo"}
Run Code Online (Sandbox Code Playgroud) 我们正在使用由多个客户共享的asp.net mvc应用程序.我们需要url包含客户端url友好名称.例如:
domain.com/clientName/controller/action/id
以下内容似乎在路由时起作用,但是对于操作链接助手没有正确生成"clientName".
_routes.MapRoute("DefaultRoute",
"{clientName}/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = string.Empty },
new { clientName = @"[\w-]+" });
Run Code Online (Sandbox Code Playgroud)
我们希望继续使用Html.ActionLink Helper方法,但它不会在生成的链接中包含clientName.我们是否必须在这种情况下编写自己的帮助者,还是有替代方法?
有没有其他人使用这种类型的路由方案构建应用程序?任何建议,将不胜感激!
我们有一个使用FluentNibernate映射实体的项目.现在我需要为这些地图添加一些格式验证.对于Nullable,Length等,我们目前正在使用映射.我在项目中添加了NHibernate Validator,但收到了关于需要NHibernate版本2.1.2.4000的编译时错误.所以我升级到那个版本只是为了得到一个运行时错误,说它找不到NHibernate 2.1.0.4000.我可以编写扩展方法来使用FluentNibernate进行验证吗?我是否必须使用相同版本的NHibernate重新编译?首选方法是使用这些的释放.任何其他设备将不胜感激.
我们有一个编译和创建工件的Build.然后我们有另一个使用最后一个Compile构建的Build并将它部署到适当的环境.一旦完成,我必须在TC中标记它被推送到环境中的构建.有没有办法可以标记使用Deploy Build部署的Compile Build?
我有一个MVC项目,我试图更新以包括WebApi.为了获得所需的路由,我们使用AttributeRouting.除了返回405的[PUT]之外,所有调用似乎都正确路由.我已经简化了控制器和操作,并且仍然使用[PUT]接收错误,除非我也包含[HttpPut].不确定我错过了什么.
[RoutePrefix("api/Sites")]
public class SitesController : BaseApiController
{
[POST("")]
public bool CreateSite(SiteSignupArgs args)
{
...
}
[GET("Statuses")]
public IList<SiteAuditViewModel> GetStatuses()
{
...
}
[PUT("Statuses/{siteId}")]
[HttpPut] // This is required or 405 is returned
public HttpResponseMessage UpdateStatus(string siteId, UpdateStatusArgs args)
{
...
}
[DELETE("Statuses/{siteId}")]
public HttpResponseMessage Delete(string siteId)
{
return Request.CreateResponse(HttpStatusCode.OK);
}
}
Run Code Online (Sandbox Code Playgroud)
AttributeRouting.Core 3.5.6版,AttributeRouting.Core.Http,AttributeRouting.Core.Web,AttributeRouting.WebApi
MVC4
未安装WebDAV.
我乞求使用jquery.我有以下调用适用于IE7但不适用于FF 3.0.4.但是,如果我改变null到{}正常工作.null对于这种情况无效,我很幸运它在IE中工作或者这是jquery的错误.
$.post("complexitybar.ashx?a=init&vc=" + validationCode, null, loadInitialValues, "json");
Run Code Online (Sandbox Code Playgroud) 我们目前有一个系统,每个客户在注册时都会获得自己的数据库.毫不奇怪,这是失控的.
我们正准备将所有这些数据库合并到一个数据库中.为此,我们需要注意该行所属的组织.如何在数据库上处理这个以及下面的方法有哪些优点/缺点(速度,可维护性等)?
选项1:将组织ID分配给所有表并使其成为主键的一部分(使所有键复合).
选项2:将组织ID添加到所有表中,作为具有组织表外键的列.
选项3:其他东西.
我们正在考虑通过这一举措转移到NHibernate,如果这对所做的事情有影响的话.
我想ac#regex来确定一个字符串是否在定义的序列中包含5个以上的字符.
示例:如果序列是字母表,那么'ghijk'将为true,而'lmn'将为false.
编辑:序列需要按顺序排列.从上面的例子'ghijz'将返回false.
看起来SQL Server和大多数其他产品一样,随机函数真的不是随机的.所以我们有这个很好的小函数来生成一个10 char值.有没有更好的方法来完成以下操作.我打赌有.
DECLARE @SaltCount INT;
SELECT @SaltCount = COUNT(*) FROM tmp_NewLogin;
PRINT 'Set Salt values for all records' + CAST(@SaltCount AS VARCHAR(10))
DECLARE @CharPool CHAR(83);
DECLARE @Salt VARCHAR(10);
SET @CharPool = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!"#$%&()*+,-./:;<=>?@';
SET NOCOUNT ON;
updateSaltValue:
SET @Salt = ''
SELECT @Salt = @Salt + SUBSTRING(@CharPool, number, 1) FROM
(
SELECT TOP 10 number FROM MASTER..[spt_values] WHERE TYPE = 'p' AND Number BETWEEN 1 AND 83
ORDER BY NEWID()
) AS t
UPDATE TOP(1) [table] SET [Salt] = @Salt …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试在代码中删除一些.Resolve.我一直在移动,直到我遇到一个命名注册,我无法使用该名称解析Autofac.我错过了将命名注册注入构造函数.
注册
builder.RegisterType<CentralDataSessionFactory>().Named<IDataSessionFactory>("central").SingleInstance();
builder.RegisterType<ClientDataSessionFactory>().Named<IDataSessionFactory>("client").SingleInstance();
builder.RegisterType<CentralUnitOfWork>().As<ICentralUnitOfWork>().InstancePerDependency();
builder.RegisterType<ClientUnitOfWork>().As<IClientUnitOfWork>().InstancePerDependency();
Run Code Online (Sandbox Code Playgroud)
现在的课程
public class CentralUnitOfWork : UnitOfWork, ICentralUnitOfWork
{
protected override ISession CreateSession()
{
return IoCHelper.Resolve<IDataSessionFactory>("central").CreateSession();
}
}
Run Code Online (Sandbox Code Playgroud)
想拥有
public class CentralUnitOfWork : UnitOfWork, ICentralUnitOfWork
{
private readonly IDataSessionFactory _factory;
public CentralUnitOfWork(IDataSessionFactory factory)
{
_factory = factory;
}
protected override ISession CreateSession()
{
return _factory.CreateSession();
}
}
Run Code Online (Sandbox Code Playgroud) c# ×4
asp.net-mvc ×2
autofac ×2
nhibernate ×2
sql ×2
sql-server ×2
attributes ×1
firefox ×1
interface ×1
jquery ×1
math ×1
performance ×1
probability ×1
reflection ×1
regex ×1
t-sql ×1
teamcity ×1