小编stu*_*rtd的帖子

VB 6内存限制

未来的客户有一个非常大的VB6程序.他们声称他们遇到了内存限制.他们无法添加更多代码行.

你知道什么是上限,是否有办法解决?

vb6

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

带有背景图像和颜色的文本框

我有一个 TextBox 控件,我希望能够设置背景图像和背景颜色。

目前我可以设置一个,或另一个,但不能同时设置两者。当我尝试同时设置两者时,我收到“属性‘背景’设置多次”错误。

这是我使用的代码:

<TextBox Name="tbImageTextBox">
      <TextBox.Background>
           <ImageBrush ImageSource="/Resources/Images/image.png" 
                  AlignmentX="Right" Stretch="None"/>
           <SolidColorBrush>#FF8D8A8A</SolidColorBrush>
      </TextBox.Background>
</TextBox>
Run Code Online (Sandbox Code Playgroud)

我还尝试在 TextBox 的样式和 中的图像中设置背景颜色<TextBox.Background>,但颜色被忽略。

wpf xaml textbox

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

Linq查询与字符串值列表进行比较

我需要比较并从字符串列表中获取LINQ的匹配值.看看我的代码.

Split = Id.Split(',');
List<string> uids = new List<string>(Split);
var model = (from xx in Db.ItemWeedLogs
                where xx.ItemNo == uids   
                // I need to pass a string list to extract the matching record.
                select xx).ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq

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

32位winform应用程序不能在64位操作系统上运行

我有两台笔记本电脑.

1)BuildLaptop->我编写应用程序的笔记本电脑.Windows 7旗舰版32位,适用于数据库的Office 2007

2)TestLaptop->测试应用程序.Windows 7旗舰版64位,Office 2007.

我的应用程序包含几个构建为AnyCPU的dll文件,该应用程序也构建为AnyCPU.

当我尝试在TestLaptop上测试我的应用程序时,它给了我一个错误:

Microsoft.ACE.OleDb.12.0提供程序未在您的计算机上注册.

所以我从TestLapTop卸载了Office并在BuildLapTop上安装了Office.

同样的错误.然后我尝试编译所有的dll以及我的应用程序到x64.该应用程序无法启动.然后我尝试只将应用程序编译为x64并将dll编译为anyCPU.错误再次发生.

那么帮助我如何让我的应用程序在TestLapTop上运行?

c# winforms

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

log4net没有登录到数据库

我有一个奇怪的问题,我的log4net设置没有记录任何数据到数据库,也没有引发任何异常来通知问题.我已在一个名为"Log4net.Config"的单独文件中定义了配置设置,并在程序集中引用了它.(请注意,我通过nuget lib安装了Log4net lib)

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]
Run Code Online (Sandbox Code Playgroud)

这是日志文件.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <log4net>
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="1" />
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="Data Source=(local);Initial Catalog=testdb;Integrated Security=True" />
      <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <parameter>
        <parameterName value="@log_date" />
        <dbType value="DateTime" />
        <layout type="log4net.Layout.RawTimeStampLayout" />
      </parameter>
      <parameter>
        <parameterName value="@thread" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout"> …
Run Code Online (Sandbox Code Playgroud)

.net log4net log4net-configuration

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

Quartz.net和Ninject:如何使用NInject将实现绑定到我的作业

我实际上在ASP.Net MVC 4 Web应用程序中工作,我们使用NInject进行依赖注入.我们还使用基于Entity框架的UnitOfWork和Repositories.

我们想在我们的应用程序中使用Quartz.net定期启动一些自定义作业.我希望NInject自动绑定我们工作中需要的服务.

它可能是这样的:

public class DispatchingJob : IJob
{
    private readonly IDispatchingManagementService _dispatchingManagementService;

    public DispatchingJob(IDispatchingManagementService dispatchingManagementService )
    {
         _dispatchingManagementService = dispatchingManagementService ;
    }

    public void Execute(IJobExecutionContext context)
    {
         LogManager.Instance.Info(string.Format("Dispatching job started at: {0}", DateTime.Now));
        _dispatchingManagementService.DispatchAtomicChecks();
        LogManager.Instance.Info(string.Format("Dispatching job ended at: {0}", DateTime.Now));
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,在我们的NInjectWebCommon绑定中配置如下(使用请求范围):

     kernel.Bind<IDispatchingManagementService>().To<DispatchingManagementService>();
Run Code Online (Sandbox Code Playgroud)

是否可以使用NInject将正确的实现注入我们的自定义作业?怎么做?我已经阅读了很少关于堆栈溢出的帖子,但是我需要一些建议和一些使用NInject的例子.

asp.net asp.net-mvc ninject quartz.net

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

log4net.Appender.AdoNetAppender connectionType Oracle.ManagedDataAccess.Client

我正在尝试将我的.NET 4.5 Windows服务从非托管切换到Oracle.ManagedDataAccess.dll ODP.NET 4.121.1.0.该应用程序本身工作正常.切换到ODP.NET 4.121.2.0没有帮助.

多年来我一直在将log4net保存到数据库表中,在AdoNetAppender中设置连接类型:

<connectionType value="Oracle.DataAccess.Client.OracleConnection, 
    Oracle.DataAccess, Version=2.112.1.2, Culture=neutral, 
    PublicKeyToken=89B483F429C47342" />
Run Code Online (Sandbox Code Playgroud)

我想使用托管连接,但经过几个小时和谷歌搜索后,我找不到有效的连接类型.

App.Config:

connectionType value="Oracle.ManagedDataAccess.Client, 
         Oracle.ManagedDataAccess, Version=4.121.1.0, 
         Culture=neutral, PublicKeyToken=89b483f429c47342"
Run Code Online (Sandbox Code Playgroud)

输出到textWriterTraceListener包含:

log4net:错误[AdoNetAppender] ErrorCode:GenericFailure.无法加载连接类型[Oracle.ManagedDataAccess.Client,Oracle.ManagedDataAccess,Version = 4.121.1.0,Culture = neutral,PublicKeyToken = 89b483f429c47342] System.TypeLoadException:无法从程序集"Oracle"加载类型"Oracle.ManagedDataAccess.Client". ManagedDataAccess,Version = 4.121.1.0,Culture = neutral,PublicKeyToken = 89b483f429c47342'.

oracle log4net

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

优化Parallel.For的性能

我用Parallel.For替换了代码中的for循环.性能提升很棒(1/3运行时间).我试图使用数组来计算共享资源来收集结果代码.然后我将数组处理出Parallel.For.这是最有效的方法还是阻塞仍然会发生,即使没有迭代可以共享相同的循环索引?CompareExchange的表现会好得多吗?

int[] pageResults = new int[arrCounter];
Parallel.For(0, arrCounter, i =>
{
   AlertToQueueInput input = new AlertToQueueInput();
   input.Message = Messages[i];

   pageResults[i] = scCommunication.AlertToQueue(input).ReturnCode;
});

foreach (int r in pageResults)
{
    if (r != 0 && outputPC.ReturnCode == 0) outputPC.ReturnCode = r;
}
Run Code Online (Sandbox Code Playgroud)

.net c#

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

默认控制台窗口的文本颜色

控制台窗口上出现的文本的默认颜色是什么?它不是纯白色,而是一些白色阴影。我可以将这种颜色用于富文本框文本吗?

c# winforms

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

使用 C#12 集合表达式初始化 List&lt;List&gt;&gt; 的语法是什么?

假设我有这样的代码(或任何类型的锯齿状结构):

var intListList = new List<List<int>> {
    new() { 1, 2, 3 }
};
Run Code Online (Sandbox Code Playgroud)

我想在这里使用集合表达式。Resharper (EAP) 建议这样做:

var intListList = new List<List<int>> {
    [1, 2, 3]
};
Run Code Online (Sandbox Code Playgroud)

但这不能编译。

这一定是可能的!语法是什么?

编辑:

好的。因此,从答案中,不是这样,而是在表达式中声明类型:

// does not compile
var intListList = new List<List<int>> {
    [1, 2, 3]
};
Run Code Online (Sandbox Code Playgroud)

类型必须显式声明,并且没有new()

// compiles!
List<List<int>> intListList = [[1, 2, 3]];
Run Code Online (Sandbox Code Playgroud)

c# collection-initializer .net-8.0 c#-12.0

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