当我Eval.svc在Visual Studio 2012中右键单击并在浏览器中查看时,我得到以下内容 -
无法找到类型'EvalServiceLibary.Eval',作为ServiceHost指令中的Service属性值提供,或者在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供.
当我从测试客户端运行WCF服务时,一切正常.
评估服务:
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class EvalService : IEvalService
{
Dictionary<string, JobPhaseTimer> jobTimers = new Dictionary<string, JobPhaseTimer>();
public void SubmitEntry(ENBO.Jobs.Job job, ENBO.Jobs.JobDetail jobDetail, ENBO.TimeLogs.TimeLog timeLog, ENBO.Users.User user, ENBO.Utilities.EntryType entryType, JobPhase jobPhase)
{
if (entryType == EntryType.Active)
{
JobPhaseTimer timer = new JobPhaseTimer();
timer.UID = job.ID + "_" + jobPhase.ID;
timer.JobID = job.ID;
timer.JobDetailID = jobDetail.ID;
timer.PhaseID = jobPhase.ID;
timer.StartTime = DateTime.Now;
timer.Stopwatch.Start();
jobTimers.Add(timer.UID, timer);
TimeLog log = new TimeLog();
log.JobID = job.ID; …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用C#生成CRC-16.我用于RS232的硬件要求输入字符串为HEX.下面的屏幕截图显示了正确的转换.对于测试,我需要8000为0xC061,但是生成CRC-16的C#方法必须能够转换任何给定的HEX字符串.

我尝试过使用Nito.KitchenSink.CRC
我也尝试了以下,当输入8000时生成8009 -
public string CalcCRC16(string strInput)
{
ushort crc = 0x0000;
byte[] data = GetBytesFromHexString(strInput);
for (int i = 0; i < data.Length; i++)
{
crc ^= (ushort)(data[i] << 8);
for (int j = 0; j < 8; j++)
{
if ((crc & 0x8000) > 0)
crc = (ushort)((crc << 1) ^ 0x8005);
else
crc <<= 1;
}
}
return crc.ToString("X4");
}
public Byte[] GetBytesFromHexString(string strInput)
{
Byte[] bytArOutput = new Byte[] { };
if (!string.IsNullOrEmpty(strInput) && strInput.Length …Run Code Online (Sandbox Code Playgroud) 我试图从给定的时间开始秒表(从数据库中提取的十进制值).但是,因为Stopwatch.Elapsed.Add返回一个新的时间跨度而不是修改秒表,我无法找到最好的前进方法.
var offsetTimeStamp = new System.TimeSpan(0,0,0).Add(TimeSpan.FromSeconds((double)jd.ActualTime));
Stopwatch.Elapsed.Add(offsetTimeStamp);
Stopwatch.Start();
Run Code Online (Sandbox Code Playgroud)
我有什么想法可以做到这一点?干杯
我试图绑定一个winforms数据中继器中包含的复选框,但复选框本身并没有勾选.当绑定到标签时它起作用
lbSchoolFri.DataBindings.Add("Text", bindingSource5, "SchoolName");
Run Code Online (Sandbox Code Playgroud)
复选框(不工作) -
cbSchoolFri.DataBindings.Add("Checked", bindingSource5, "SchoolContacted");
Run Code Online (Sandbox Code Playgroud)
任何想法为什么这不起作用?
谢谢
我试图使用多线程从计时器数据绑定我的数据网格视图.我们需要它来显示实时数据.
我使用的代码是 -
private void Form1_Load(object sender, EventArgs e)
{
dt = JobManager.GetTodaysJobs();
trd = new Thread(StartTimer);
trd.Start();
}
void StartTimer()
{
timer1.Start();
LoadData();
}
void LoadData()
{
dt = JobManager.GetTodaysJobs();
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = dt;
}
private void timer1_Tick(object sender, EventArgs e)
{
LoadData();
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误 -
跨线程操作无效:控制'dataGridView1'从其创建的线程以外的线程访问.
我有什么想法可以解决这个问题吗?
干杯
c# ×5
winforms ×3
checkbox ×1
crc ×1
crc16 ×1
data-binding ×1
datagridview ×1
stopwatch ×1
time ×1
wcf ×1
wcf-binding ×1