嘿,我几天前开始学习C#,我正在尝试制作一个程序,复制和粘贴文件(并在需要时替换)到一个选定的目录,但我不知道如何获取目录和文件路径openfiledialog和folderbrowserdialog
我究竟做错了什么?
这是代码:
namespace filereplacer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void direc_Click(object sender, EventArgs e)
{
string folderPath = "";
FolderBrowserDialog directchoosedlg = new FolderBrowserDialog();
if (directchoosedlg.ShowDialog() == DialogResult.OK)
{
folderPath = directchoosedlg.SelectedPath;
}
}
private void choof_Click(object sender, EventArgs e)
{
OpenFileDialog choofdlog = new OpenFileDialog();
choofdlog.Filter = "All Files (*.*)|*.*";
choofdlog.FilterIndex = 1;
choofdlog.Multiselect = true;
choofdlog.ShowDialog();
}
private void replacebtn_Click(object sender, EventArgs e)
{
// This is where …
Run Code Online (Sandbox Code Playgroud) 是否有可能在Hangfire中创建一个在给定天数后执行的定期作业,比如说8天.
我发现最接近的是一周内执行一次工作 -
RecurringJob.AddOrUpdate("MyJob",() => ScheduledJob(), Cron.Weekly());
Run Code Online (Sandbox Code Playgroud)
了解Hangfire也接受标准CronExpression
,我试过探索这个频率的cron表达式但是找不到它 -
https://en.wikipedia.org/wiki/Cron
一个丑陋的解决方案可能是创建3或4个作业,在相应的某些日期每个月执行一次,但我不想这样做.
请给我任何建议.
我仍然无法弄清楚这一点.几天前我的硒工作正常; 现在它给我一些错误.我首先使用NuGet然后尝试手动安装它.
如何重现问题:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System.Threading.Tasks;
namespace Debug
{
class Program
{
static void Main(string[] args)
{
try
{
IWebDriver driver = new ChromeDriver();
driver.Navigate().GoToUrl("http://stackoverflow.com/");
}
catch (Exception ex)
{
Console.Clear();
Console.WriteLine(ex);
Console.ReadKey();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
OpenQA.Selenium.WebDriverException:抛出了一个带有null响应的异常,向URL http:// localhost:60695/session发送HTTP请求到远程WebDriver服务器.异常的状态是ReceiveFailure,消息是:基础连接已关闭:接收上发生意外错误.---> System.Net.WebException:底层连接已关闭:接收上发生意外错误.---> System.IO.IOException:无法从传输连接读取数据:远程主机强制关闭现有连接.---> System.Net.Socket
我如何安装selenium,从下载 http://selenium-release.storage.googleapis.com/3.0/selenium-dotnet-3.0.0.zip
进入VS并添加了唯一的dll引用
我一直在使用MVC在IIS中运行开发的迟发型应用程序,它工作绝对没问题,直到我看到了我的SQL Server日志文件的大小,其增长高达40 GB一夜!
根据我们DBA的信息,有一个长时间运行的事务,有以下SQL语句(我有2个hangfire队列) -
(@queues1 nvarchar(4000),@queues2 nvarchar(4000),@timeout float)
delete top (1) from [HangFire].JobQueue with (readpast, updlock, rowlock)
output DELETED.Id, DELETED.JobId, DELETED.Queue
where (FetchedAt is null or FetchedAt < DATEADD(second, @timeout, GETUTCDATE()))
and Queue in (@queues1,@queues2)
Run Code Online (Sandbox Code Playgroud)
在探索Hangfire库时,我发现它用于将作业出列,并执行一项非常简单的任务,不应该占用任何重要的时间.我找不到任何可能导致此错误的内容.事务与using
语句正确使用,对象Disposed
发生异常.
正如一些帖子中所建议的,我已经检查了我的数据库的恢复模式,并验证它很简单.
我已手动杀死挂起的事务以回收日志文件空间,但几小时后它再次出现.我一直在观察它.
这种行为可能是什么原因?以及如何预防?
这个问题似乎是间歇性的,并且在生产中部署可能具有极高的风险:(
语境
我有两个应用程序,一个是我的主要企业应用程序,另一个是我托管的hangfire(hangfire 服务器、客户端和仪表板)。我的主应用程序还使用hangfire 来执行一些长时间任务并异步执行它们。两者都使用相同的 DB 进行 HF 存储。而且只有一台 HF 服务器。
问题
我间歇性地收到以下错误 -
“无法将状态更改为‘正在处理’:找不到目标方法。” 或者
“无法将状态更改为‘已入队’:未找到目标方法。”
详细信息如下 -
System.IO.FileNotFoundException
无法加载文件或程序集“MyApp.Hangfire,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。
其中MyApp.Hangfire是我执行作业的 Hangfire 应用程序。我确信它是存在的,甚至一些成功的工作也证实了这一点。
请查看随附的屏幕截图以了解更多详细信息。
观察
问题并不一致,作业并不总是失败,有时会失败,重新排队并通过,有时当重试次数不足时,甚至会失败。如截图所示
我刚刚开始使用Hangfire,我很喜欢它.
据我所知,Hangfire维护了1天的成功工作历史,并在此后清除.
有没有办法可以自定义此默认行为并保留7天的任何持续时间的历史记录?
我们在应用程序中使用Google Analytics,但现在我们需要更改此设置并使用Adobe Analytics.
在对这两种工具进行比较研究的同时,我现在意识到这些工具提供的优缺点和特色,
但是如果我们继续使用Adobe Analytics,我没有找到任何有关应用程序性能影响的信息.
为此,我们创建了两个示例poc网站,并分别为这些应用程序中的两个工具提供了脚本.
对于GA,我们已经插入了剪贴在<head>
标签中的脚本,而对于AA,我们引用了客户端在<head>
标签中提供的脚本源,以及在关闭<body>
标签之前页面底部的以下行.<script type="text/javascript">_satellite.pageBottom();</script>
以下是响应时间统计数据 -
0.030秒(GA)Vs 0.618秒(AA)
虽然GA看起来比AA快得多,但它是否低得惊人?这是使用AA的正确方法吗?
请给我任何建议.
我们想从服务器端向Google Analytics(分析)发送自定义事件跟踪信息。
为此,我引用了本 SO帖子,并提供了以下代码段,但不知何故它没有将事件的信息发送到GA。我已经调试了代码以查看响应,并且它正在返回200 (OK)
状态,响应类似于通过客户端跟踪事件时的响应。我们已经等待了几天,以查看是否跟踪了该事件,但事实并非如此。
public static void TrackEvent(string category, string action, string label)
{
string gaCodeTest = "UA-xxxxxx-2";
ASCIIEncoding encoding = new ASCIIEncoding();
string cid = Guid.NewGuid().ToString();
string postData =
"v=1&tid=" + gaCodeTest + " &cid=" + cid + "&t=event" +
"&ec=" + category +
"&ea=" + action +
"&el=" + label;
byte[] data = encoding.GetBytes(postData);
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("https://www.google-analytics.com/collect");
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream = myRequest.GetRequestStream();
newStream.Write(data, 0, data.Length); …
Run Code Online (Sandbox Code Playgroud)