小编dyn*_*ser的帖子

WCF服务,无法找到作为服务属性值...提供的类型

当我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# wcf wcf-binding

27
推荐指数
6
解决办法
13万
查看次数

如何从C#生成CRC-16

我正在尝试使用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)

c# crc crc16

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

从指定时间开始秒表

我试图从给定的时间开始秒表(从数据库中提取的十进制值).但是,因为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)

我有什么想法可以做到这一点?干杯

c# time stopwatch winforms

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

CheckBox.DataBindings.Add不起作用

我试图绑定一个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)

任何想法为什么这不起作用?

谢谢

c# data-binding checkbox winforms

4
推荐指数
1
解决办法
5787
查看次数

多线程应用程序中的数据绑定datagridview

我试图使用多线程从计时器数据绑定我的数据网格视图.我们需要它来显示实时数据.

我使用的代码是 -

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# multithreading datagridview winforms

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