小编Mau*_*fer的帖子

正则表达头痛

我想为脚本引擎验证一些C#源代码.我想确保只能引用System.Math类成员.我正在尝试创建一个正则表达式,它将匹配一个点,后跟一个大写字母,后跟任意数量的单词字符,以一个不在System.Math之前的单词边界结束.

我从这开始:

(?<!Math)\.[A-Z]+[\w]*
Run Code Online (Sandbox Code Playgroud)

哪个适用于:

return Math.Max(466.89/83.449 * 5.5);  // won’t flag this
return Xath.Max(466.89/83.449 * 5.5);  // will flag this
Run Code Online (Sandbox Code Playgroud)

它在没有Math之前正确匹配.Max.但是,现在我正在尝试将正则表达式扩展为包含System,我无法让它工作.

我已经尝试了正则表达式的这些排列以及更多:

((?<!System\.Math)\.[A-Z]+[\w]*)
((?<!(?<!System)\.Math)\.[A-Z]+[\w]*)
((?<!System)\.(?<!Math)\.[A-Z]+[\w]*)
((?<!System)|(?<!Math)\.[A-Z]+[\w]*)
((?<!System\.Math)|(?<!Math)\.[A-Z]+[\w]*)
Run Code Online (Sandbox Code Playgroud)

使用这些陈述:

return System.Math.Max(466.89/83.449 * 5.5);
return System.Xath.Max(466.89/83.449 * 5.5);
return Xystem.Math.Max(466.89/83.449 * 5.5);
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有我能想到的东西,但它总是匹配第二个元素(上面的.Math或.Xath),或者它与任何东西都不匹配.

如果有人会怜悯我并指出我做错了什么,我会非常感激.

先谢谢,韦尔顿

.net regex

6
推荐指数
1
解决办法
228
查看次数

svn -&gt; 具有多个主干/分支/标签的 git 迁移

我有一个 SVN 存储库,其当前结构如下:

  • 项目1
    • 分支机构
    • 树干
    • 标签
  • 项目2
    • 分支机构
    • 树干
    • 标签

最初具有以下结构:

  • 项目
    • 分支机构
    • 树干
      • 项目1
      • 项目2
    • 标签

也就是说,该项目被分成两个单独的“子存储库”(或者任何你想称呼的名称)

有什么方法可以将其迁移到 git而不丢失历史记录吗?对于这种情况,svn2git 会比 git-svn 更好吗?还有其他迁移工具吗?

编辑:我按照建议尝试了 git svn clone ,但正如我所想,它没有遵循从旧结构到新结构的转变。它仅导入新结构的修订。

svn git git-svn

5
推荐指数
1
解决办法
6526
查看次数

在ASP.NET MVC的Windsor配置中,控制器生活方式是否应该是瞬态的?

我遇到了一个问题,我在我的视图中有一个Html.DropDownList,它会在我第一次提交表单时回发所选的值,但每个后续的回发只会发布初始回发的数据.所以我将sports ="transient"添加到组件元素中,我已经为city windsor配置了我的控制器,这解决了问题,但当然回传需要更长的时间,因为每个请求实例化一个新的控制器.鉴于上述信息,有哪些见解,建议或解决方案可能有助于确定我对控制器生活方式的原始问题?感谢所有的帮助和支持!

asp.net-mvc castle-windsor ioc-container asp.net-mvc-controller

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

LINQ-NHibernate - 仅为复杂对象选择几个字段(包括Collection)

我在我的一个项目(和ASP.NET MVC应用程序)中使用Fluent NHibernate,使用LINQ查询数据(使用LINQ到NHibernate库).

更改了对象名称以保护无辜者.

假设我在数据库(MySQL)中有以下类Foo,Bar,Baz及其相应的表.

Foo与Fluent映射中定义的Bar(表"FooBar")和Baz(表"FooBaz")有多对多的关系.因此,类接口定义如下:

public class Foo {
    public virtual int id { get; set; }
    public virtual string name { get; set; }
    public virtual string email { get; set; }
    public virtual IList<Bar> bars { get; set; }
    public virtual IList<Baz> bazes { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是一个非常标准的课程.我们可以看到一个Foo对象将有一个条形和bazes列表.

尝试执行LINQ查询时出现问题.

如果我这样做一个简单的查询,它工作正常(where子句不重要):

var foos = from foo in session.Linq<Foo>()
           where email.equals("foo@bar.com")
           select foo;

IList<Foo> listFoos = foos.ToList();
Run Code Online (Sandbox Code Playgroud)

这将返回一个Foos列表,其中填充了所有字段(id,name,email,bars,bazes).log4net显示NHibernate对集合执行单独的查询.

当我只想加载一些字段时出现问题.例如,我可能只想加载查询中的条形,而不是bazes.

此查询编译,但在运行时产生错误:

var foos = from foo in session.Linq<Foo>()
           where …
Run Code Online (Sandbox Code Playgroud)

c# linq nhibernate asp.net-mvc linq-to-nhibernate

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

如何在ASP.NET中管理应用程序配置?

我在管理ASP.Net应用程序的配置时遇到了困难,无法为不同的客户端部署.需要花费大量不同设置需要花费大量时间,而且当前的配置方法过于复杂,无法使我们将此责任推给支持合作伙伴.

有没有更好的方法来处理这个或好的研究信息来源的建议?

我们目前的工作方式:

  • Web.Config中引用的各种xml配置文件,例如AppSettings.xml.
  • 特定站点的配置保存在重复的配置文件中.
  • 包含特定于站点的数据列表的文本文件
  • 在某些情况下,手动一次性更改数据库
  • Windsor IOC的C#配置.

我们遇到的具体问题:

  • 启用了不同功能的不同站点,我们必须与之交谈的不同外部服务以及不同的业务规则.
  • 不同的部署类型(实时,测试,培训)
  • 配置键在不同版本中更改(添加,删除),这意味着我们必须更新所有重复文件
  • 我们仍然需要能够在应用程序运行时更改密钥

我们目前关于如何处理这个问题的想法是:

  • 将配置移动到动态编译的代码(可能是Boo,Binsor或JavaScript)
  • 有某种形式的差异/合并配置:将默认配置与实时/测试/培训配置和特定于站点的配置相结合

.net c# configuration boo castle-windsor

5
推荐指数
1
解决办法
777
查看次数

如何使用Linq与Castle ActiveRecord

我正在玩Castle ActiveRecord并注意到下载包含了该文件Castle.ActiveRecord.Linq.dll.我没有找到任何使用Linq和ActiveRecord的文档,只有一些 旧的 博客文章.

使用模式是什么?是Castle.ActiveRecord.Linq可供生产使用?

.net c# nhibernate orm castle-activerecord

5
推荐指数
1
解决办法
2408
查看次数

如何单步执行/调试python Web应用程序?

我似乎无法找到有关调试python Web应用程序的任何信息,特别是逐步执行Web请求.

这是不可能的吗?如果不是,为什么不呢?

python debugging step-into

5
推荐指数
1
解决办法
4838
查看次数

Solr客户端发生"连接重置"

当我们调用SOLR服务器时,我们遇到"连接重置"错误.而且我们的并发负载相当小.

这是SOLR的Tomcat连接器配置:

<Connector port="8983" protocol="HTTP/1.1" 
           connectionTimeout="20000" maxThreads="40000" minSpareThreads="400" maxSpareThreads="5000" maxKeepAliveRequests="100" URIEncoding="UTF-8"
           redirectPort="8943" />
Run Code Online (Sandbox Code Playgroud)

这是我们从SOLR客户端得到的:

Caused by: org.apache.solr.client.solrj.SolrServerException: java.net.SocketException: Connection reset
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:472)
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243)
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89)
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:122)

... 36 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
Run Code Online (Sandbox Code Playgroud)

通过读取SOLR客户端代码进行故障排除后,我们发现这可能是由于SOLR的Tomcat配置中的连接超时设置不正确.我们决定将其更改为默认值(无限超时).所以,我的问题是,在将此值设置为无限时,是否会引发其他性能问题?

java performance tomcat solr config

5
推荐指数
1
解决办法
2829
查看次数

知道子集合的数量而不是在NHIbernate中加载它们

我正在使用NHibernate和FluentNH.我有一个名为PostCategory的简单类,它包含一组Posts.PostCategory类包含一个名为TotalActivePosts的属性.当我加载所有PostCategories我想要的没有.要在此属性中填充的每个类别的活动帖子.我怎么能这样做?任何帮助是极大的赞赏.

Vijaya Anand

nhibernate fluent-nhibernate

5
推荐指数
1
解决办法
1229
查看次数

Solr是否有xml替代@Field注释?

  1. 我想用 QueryResponse.getBeans()
  2. 我在另一个项目中定义了没有solr依赖项的类,所以我不能使用@Field它们

是否有xml(或其他外部化)替代@Field

java solr solrj

5
推荐指数
1
解决办法
760
查看次数