我看过几个人在Azure上运行Redis的人的引用,但没有实现或任何类型的"howto".有没有人见过这样的例子?
这些是我的课程:
public class EventLog {
public string SystemId { get; set; }
public string UserId { get; set; }
public List<Event> Events { get; set; }
}
public class Event {
public string EventId { get; set; }
public string Message { get; set; }
}
public class EventDTO {
public string SystemId { get; set; }
public string UserId { get; set; }
public string EventId { get; set; }
public string Message { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
基本上我需要从具有嵌套列表的单个对象到具有嵌套列表和父对象的值的对象列表.可以在AutoMapper中完成吗?我意识到我可以轻松映射事件列表并获取EventDTO对象列表,然后手动设置SystemId和UserId,让AutoMapper为我处理它会非常方便.
我想做一些性能.分析一段狗慢的代码...我启动VS2012 Premium作为管理员,加载我的解决方案并转到'分析 - 启动性能向导'立即我显示一个对话框,说:
Could not load file or assembly 'VSPerfReader.DLL' or one of its dependencies.
Run Code Online (Sandbox Code Playgroud)
真棒!该文件位于:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Performance Tools
Run Code Online (Sandbox Code Playgroud)
我可以从'开始'开始Windows性能分析器(独立)就好了.
所以,这就是我们想要做的事情:我们想要一个带有自定义框架的通用Web部件,然后在其中动态加载其他Web部件(无框架).你觉得这有可能吗?有点像Jan Tielens SmartPart,只适用于ASP.Net用户控件,但适用于其他Web部件...;)
编辑:我们现在已经能够做到这一点.解决方案实际上非常简单.看看代码:
public class WebPartWrapper : System.Web.UI.WebControls.WebParts.WebPart {
protected override void CreateChildControls() {
Panel pnl = new Panel();
this.Controls.Add(pnl);
WebPart dynamicPart = WebPartFactory.CreateWebPart("RSSViewer");
pnl.Controls.Add(dynamicPart);
}
}
Run Code Online (Sandbox Code Playgroud)
这很容易...我们也使用反射将webparts存储为Xml等,但这不是重点.
我要做的是创建一个webpart,它有一个文本框,你可以在webpart上设置一个文字(h2)的值,一个"保存"按钮发回,然后相应地设置文字.这适用于一个巨大的警告; 当页面在回发后加载时,文字未被更改.但是,如果我记录文字中实际设置的内容,则它具有新值.此外,如果我再次重新加载页面(F5),它会正确显示.
起初我认为它必须是ViewState,所以我为所有控件禁用了它.我确认它没有保存在ViewState中(解码后).所以ViewState没有保存旧值.
我正在使用"CreateChildControls"将我的控件添加到webpart.回发由一个简单的事件处理程序处理.
有任何想法吗?
为了记录,我正在使用MOSS 2007.
查看EPPlus附带的示例我已设法创建数据透视表,但我无法为其设置正确的报表布局.我希望它是'表格',而不是'大纲'或其他什么.对我来说,看起来EPPlus现在不支持这个,但也许我错过了一些东西?
以下代码适用于“所有人”机器,除了我的机器:
var foo = "caa";
var bar = "ca";
if (foo.StartsWith(bar, false, CultureInfo.GetCultureInfo("no")))
Console.WriteLine($"{foo} starts with {bar}");
else
{
Console.WriteLine($"{foo} does not start with {bar}");
}
Run Code Online (Sandbox Code Playgroud)
我在 .net 5.0.400、5.0.403、6.0.100 上尝试过 - 所有打印“caa 不以 ca 开头”。我没有从任何地方复制这些字符,而是逐字逐句地输入它们。
我知道这实际上只是在我的计算机上,但我不明白为什么或是什么导致了这种情况。
编辑:我使用的是 Windows 10 - 操作系统内部版本:19043.1348。nb-NO 键盘,en-US Windows UI 语言。
编辑:添加 if (foo.StartsWith(bar, false, CultureInfo.GetCultureInfo("no") - 行为没有变化。
我们正在使用EventSource nuget包,但是我们遇到了一个构建错误:
1>EXEC : error : Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
1> LoaderException:
1> System.IO.FileLoadException: Cannot resolve dependency to assembly 'Microsoft.WindowsAzure.ServiceRuntime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' because it has not been preloaded. When using the ReflectionOnly APIs, dependent assemblies must be pre-loaded or loaded on demand through the ReflectionOnlyAssemblyResolve event.
1>C:\Source\...\dev\packages\Microsoft.Diagnostics.Tracing.EventRegister.1.0.16\tools\Microsoft.Diagnostics.Tracing.EventRegister.targets(132,5): error MSB3073: The command ""C:\Source\...\dev\packages\Microsoft.Diagnostics.Tracing.EventRegister.1.0.16\tools\eventRegister.exe" -DumpRegDlls @"C:\Source\...\Debug\myDLL.eventRegister.rsp" "C:\Source\...\Debug\myDLL.dll" " exited with code 1.
Run Code Online (Sandbox Code Playgroud)
我们可以通过在Machine.Config(1.0.0.0到2.2.0.0)中转发程序集来解决这个问题,但这感觉就像是一个糟糕的'修复'.我不明白为什么EventRegister应用程序应该加载Azure Service Runtime,这对我来说没有意义.
我已成功开始使用Azure AppFabric缓存服务,但我不确定创建DataCacheFactory对象的最佳实践方法是什么.现在我正在为缓存中的每次调用创建它,但显然这不是理想的做法...
有人建议要求单身人士.但我不确定我是否理解这将如何实现(不是实际的Singleton类,而是如何将它们组合在一起).
今天我有一个使用Ninject为我创建的CacheProvider类,我可以在其中执行Get/Put/Remove操作.对于这些方法中的每一个,我创建DataCacheFactory对象,然后调用.GetDefaultCache()来获取DataCache对象,我分别调用Put/Get/Remove.我在一个看起来像这样的方法中这样做:
private T Cache<T>(Func<DataCache, T> cacheAction)
{
using (DataCacheFactory dataCacheFactory = new DataCacheFactory())
{
DataCache dataCache = dataCacheFactory.GetDefaultCache();
return cacheAction(dataCache);
}
}
Run Code Online (Sandbox Code Playgroud)
我现在很确定这不是那么聪明的想法,我应该通过Singleton获取DataCache对象,其中DataCacheFactory对象只创建一次.但是这个对象如何在请求之间存活?如何在Azure上使用> 1个实例?
希望这一切都有意义,而且比我更有经验的人(3个小时)可以帮助我.
对这个问题说不好,对不起.将尝试解释我正在尝试做什么.基本上我将搜索的输出作为Xml,在那个Xml中有一个像这样的节点:
<FIELD NAME="body">
Somebody named
<key>Doris</key>
and
<key>Arnie</key>
</FIELD>
Run Code Online (Sandbox Code Playgroud)
简而言之,我需要将"<key>"替换为"<strong>"; 即.突出显示搜索命中(关键节点值是用户搜索的内容).在Xslt我不知道用户搜索了什么,除了查询Xml - > FIELD [@ name ='body']/key.
现在我有一些疯狂的代码将提取搜索词前面的任何内容("Doris"),但是这个代码适用于1个搜索词.我们需要它来执行多个术语.我们使用的代码如下所示:
<xsl:template name="highlighter">
<xsl:param name="text"/>
<xsl:param name="what"/>
<xsl:choose>
<xsl:when test="contains($text, $what) and string-length($what) > 0">
<xsl:variable name="before" select="substring-before($text, $what)"/>
<xsl:variable name="after" select="substring-after($text, $what)"/>
<xsl:variable name="real-before" select="substring($text, 1, string-length($before))"/>
<xsl:variable name="real-what" select="substring($text, string-length($before) + 1, string-length($what))"/>
<xsl:variable name="real-after" select="substring($text, string-length($before) + string-length($what) + 1)"/>
<xsl:value-of select="$real-before"/>
<strong>
<xsl:value-of select="$real-what"/>
</strong>
<xsl:call-template name="highlighter">
<xsl:with-param name="text" select="$real-after"/>
<xsl:with-param name="what" select="$what"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise> …Run Code Online (Sandbox Code Playgroud) 我们编写了一个宏,可以生成大量图表,然后将它们传输到 Word。这在 Excel 2007 中按预期工作,当访问这样的形状时:Shapes(0)...但在 Excel 2010 中我们不得不说:Shapes(1)。有没有办法告诉 Excel 从 0 开始计数?