小编gur*_*kan的帖子

SharePoint重定向站点徽标链接到根网站集主页

我希望母版页中的站点徽标链接始终重定向到根网站集主页.默认行为是重定向到当前Web(spweb)的主页.

回到SharePoint 2010,我可以通过将NavigateUrl属性添加到母版页中的SPLinkBut​​ton控件来实现此目的,其值为~sitecollection,如下所示:

<SharePoint:SPLinkButton runat="server" NavigateUrl="~sitecollection/" id="onetidProjectPropertyTitleGraphic">
<SharePoint:SiteLogoImage name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/images/siteIcon.png" runat="server"/>
</SharePoint:SPLinkButton>
Run Code Online (Sandbox Code Playgroud)

但是,在SharePoint 2013中,站点徽标链接的控件已在主页面中更改为SPSimpleSiteLink.我尝试以相同的方式为此控件设置NavigateUrl属性,但它似乎不再起作用.

<div id="siteIcon" class="ms-tableCell ms-verticalAlignTop">
  <SharePoint:AjaxDelta id="DeltaSiteLogo" BlockElement="true" runat="server">
    <SharePoint:SPSimpleSiteLink NavigateUrl="~sitecollection/" CssClass="ms-siteicon-a" runat="server" id="onetidProjectPropertyTitleGraphic" >
      <SharePoint:SiteLogoImage CssClass="ms-siteicon-img" name="onetidHeadbnnr0" id="onetidHeadbnnr2" LogoImageUrl="/_layouts/15/images/siteIcon.png?rev=23" runat="server"/>
    </SharePoint:SPSimpleSiteLink>
  </SharePoint:AjaxDelta>
</div>
Run Code Online (Sandbox Code Playgroud)

作为一种解决方法,我现在已经删除了AjaxDelta包装器控件,并使用添加的NavigateUrl属性将SPSimpleSiteLink更改为旧的SPLinkBut​​ton.这似乎有效.

有没有更好的方法?

sharepoint sharepoint-2013

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

努力单元测试实体框架6.1.3 DB-first

使用Effort框架(版本1.1.4)对我的数据库层进行单元测试时遇到问题.

我有一个使用Entity framework 6.1.3的DB层,并且使用数据库优先方法创建模型,因此有一个*.edmx描述模型的文件.

我创建了一个部分类来公开单元测试使用的额外构造函数,如下所示:

public partial class Entities
{
    public Entities(DbConnection connection)
        : base(connection, true)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

简单的单元测试如下所示:

    private Entities CreateContext()
    {
        //var connectionString = ConfigurationManager.ConnectionStrings["Entities"].ConnectionString;
        //var connection = Effort.EntityConnectionFactory.CreateTransient(connectionString);
        //return new Entities(connection as DbConnection);

        var connection = Effort.EntityConnectionFactory.CreatePersistent("name=Entities");
        var context = new Entities(connection);
        return context;
    }

    [TestMethod]
    public void Testing_Effort_Integration()
    {
        using (var context = CreateContext())
        {
            var entity = context.TableEntity.FirstOrDefault(i=> i.Id);
            Assert.IsNotNull(entity);
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我运行单元测试时,它会抛出一行异常:

var connection  = Effort.EntityConnectionFactory.CreatePersistent("name=Entities");
Run Code Online (Sandbox Code Playgroud)

{"提供程序未返回ProviderManifest实例."} InnerException消息:{"无法确定存储版本;需要有效的存储连接或版本提示."}

我发现的其他帖子建议ProviderManifestToken将 …

c# unit-testing entity-framework effort

14
推荐指数
1
解决办法
5258
查看次数

如果父css文件使用查询字符串,@ import css文件是否仍会被缓存

我即将在我们的生产环境中对网页和css文件进行升级.我想在Web浏览器中阻止css缓存,因为如果新的html与旧的css一起使用,这将破坏设计.我总共更改了三个css文件:

  • 主css文件(在带标签的页面的head部分中引用)
  • css-file A(使用@import"css-fileA.css"语法在主css文件中引用)
  • css-file B(使用@import"css-fileB.css"语法在主css文件中引用)

为了防止浏览器缓存,我在主css文件中添加了一个查询字符串,如:... link href ="main.css?rev = 20121024"...

我现在想知道在main.css上使用查询字符串是否有助于防止缓存使用@import语句在main.css中引用的css文件A和B?或者我是否还需要为@import"css-fileA.css?rev = 20121024"应用查询字符串?

任何帮助是极大的赞赏.

css caching

10
推荐指数
1
解决办法
3060
查看次数

有关垃圾回收C#.NET的问题

我的应用程序遇到OutOfMemoryException问题。我的应用程序可以在文本中搜索单词。当我开始长时间运行的过程搜索以搜索大约2000个不同的文本以查找大约2175个不同的单词时,应用程序将以OutOfMemoryException终止(大约经过6个小时),终止于大约50%

我一直在尝试查找内存泄漏。我有一个像这样的对象图:(->是引用)

静态全局应用程序对象(控制器)->算法启动器对象->文本挖掘启动器对象->文本挖掘算法对象(此对象执行搜索)。

文本挖掘启动程序对象将在单独的线程中启动文本挖掘算法对象的run()方法。

为了尝试解决该问题,我已经编辑了代码,以便文本挖掘入门对象将文本分成几组进行搜索,并依次为每组文本初始化一个文本挖掘算法对象(因此当一个文本挖掘算法对象完成时)将创建一个新的文本来搜索下一组文本)。在这里,我将先前的文本挖掘算法对象设置为null。但这不能解决问题。

当我创建一个新的文本挖掘算法对象时,我必须给它一些参数。这些取自之前的文本挖掘算法对象的属性,然后将该对象设置为null。这样是否可以防止垃圾收集文本挖掘算法对象?

这是文本挖掘算法启动器用于创建新文本挖掘算法对象的代码:

    private void RunSeveralAlgorithmObjects()
    {

        IEnumerable<ILexiconEntry> currentEntries = allLexiconEntries.GetGroup(intCurrentAlgorithmObject, intNumberOfAlgorithmObjectsToUse);

        algorithm.LexiconEntries = currentEntries;
        algorithm.Run();

        intCurrentAlgorithmObject++;

        for (int i = 0; i < intNumberOfAlgorithmObjectsToUse - 1; i++)
        {
            algorithm = CreateNewAlgorithmObject();
            AddAlgorithmListeners();
            algorithm.Run();
            intCurrentAlgorithmObject++;
        }

    }

    private TextMiningAlgorithm CreateNewAlgorithmObject()
    {
        TextMiningAlgorithm newAlg = new TextMiningAlgorithm();

        newAlg.SortedTermStruct = algorithm.SortedTermStruct;
        newAlg.PreprocessedSynonyms = algorithm.PreprocessedSynonyms;
        newAlg.DistanceMeasure = algorithm.DistanceMeasure;
        newAlg.HitComparerMethod = algorithm.HitComparerMethod;
        newAlg.LexiconEntries = allLexiconEntries.GetGroup(intCurrentAlgorithmObject, intNumberOfAlgorithmObjectsToUse);
        newAlg.MaxTermPercentageDeviation = algorithm.MaxTermPercentageDeviation;
        newAlg.MaxWordPercentageDeviation = algorithm.MaxWordPercentageDeviation;
        newAlg.MinWordsPercentageHit = algorithm.MinWordsPercentageHit;
        newAlg.NumberOfThreads = algorithm.NumberOfThreads;
        newAlg.PermutationType = …
Run Code Online (Sandbox Code Playgroud)

c# garbage-collection

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

SQL Server 2008 生成脚本向导给了我一个导致“未关闭引号”的脚本

我在一台机器上有一个 SQL server 2008 数据库实例。现在我想把这个数据库复制到另一台机器上。我使用 SQL Management Studio 中的脚本向导生成包含架构和数据的 SQL 脚本。脚本文件相当大(大约 17 GB)。

然后我在目标机器上运行 sql 脚本,结果是:

消息 105,级别 15,状态 1 错误消息:字符串后未关闭引号

我确实理解未闭合引号的含义的问题。但我不明白为什么会发生错误。脚本生成器不能处理文本字符串中的引号,例如...你好,怎么了...正确地创建一个可以转义这些字符的脚本?

他们对脚本向导的文本长度有限制吗?这是否导致问题。

我不想,也无法在文本编辑器中打开脚本文件(太大,文本编辑器会崩溃)并手动修复问题。

你有什么想法?

sql-server wizard sql-server-2008

3
推荐指数
1
解决办法
4296
查看次数