小编Kar*_*hik的帖子

WCF服务与窗口服务

我是WCF的新手.我有一个场景,我需要创建一个运行24x7的应用程序从邮箱中提取邮件并创建一些报告.我使用winform做了它并且它工作.但我有一个问题,服务器在哪托管的应用程序有一个自动注销策略,当服务器处于非活动状态一段时间后关闭我的应用程序.我想我可以将它作为一个窗口服务实现.是为这个场景推荐的WCF服务,使用它的任何优点.我想到了WCF服务,因为它将为我学习曲线.请咨询.

更新:它的应用程序基于计时器.它每5分钟ping一个特定的邮箱,以查看新邮件.如果找到新邮件,它会下载一个excel创建PDF报告并将其邮寄回一些电子邮件ID.

使用DLLS:OpenPOP和Itextsharp.

c# wcf windows-services

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

使用Itextsharp搜索PDF格式的特定单词

这是我在StackOverflow中的第一篇文章.

我的系统驱动器中有一个PDF文件...我想在C#中编写一个程序,使用Itextsharp.dll引用来搜索该PDF中的特定单词...说我要搜索"StackOverFlow"...如果PDF包含Word"StackOverFlow",它应该返回true.

否则它应该返回false.

我已经看了很多文章,但直到现在才得到解决方案.. :-(

我到现在为止尝试的是:

public string ReadPdfFile(string fileName)
        {
            StringBuilder text = new StringBuilder();

            if (File.Exists(fileName))
            {
                PdfReader pdfReader = new PdfReader(fileName);

                for (int page = 1; page <= pdfReader.NumberOfPages; page++)
                {
                    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
                    string currentText = "2154/MUM/2012 A";// PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy);

                    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
                    text.Append(currentText);
                }
                pdfReader.Close();
            }
            return text.ToString();
        }
Run Code Online (Sandbox Code Playgroud)

在此先感谢,Sabya Dev

c# pdf itextsharp

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

覆盖函数c#

我只是试图使用控制台应用程序来掌握虚拟功能的概念.我注意到,一旦覆盖基类函数,返回baseclassname.functionname(参数)就会自动插入到我的函数体中.为什么会这样?

class advanc
{
    public virtual int  calc (int a , int b)
    {        
         return (a * b);        
    }        
}

class advn : advanc
{
     public override int calc(int a, int b)
     {
          //automatically inserted
          return base.calc(a, b);
      }        
}
Run Code Online (Sandbox Code Playgroud)

c# virtual-functions

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

如何使用程序集中的版本号创建预发布的 nuget 包

我正在尝试使用 azure devops 创建 Nuget 包。我想在创建稳定版本之前创建包的预发行版本。当前正在尝试打包 .netstandard 2.0 应用程序。

我尝试过的 -

尝试在 csproj - 中设置版本<Version>1.0.6-alpha</Version>。这确实有效,但我不确定当我想将其升级为稳定版本时如何删除该 alpha 标签

我希望包从程序集中获取版本(不使用自动版本控制),例如,如果程序集版本是 1.0.0,我需要一个 1.0.0-alpha 的包,然后在转移到生产环境时需要 1.0.0。我可以在网上看到许多使用预设版本号(在变量选项卡中)和附加版本号等的解决方案,但我正在寻找一种可以使用程序集本身的版本而不是自定义定义的方法。是解释包版本控制的链接

下面是我尝试过的管道

在此输入图像描述

.net continuous-integration nuget devops azure-devops

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

将winform定位到中心屏幕不起作用

我在Winforms应用程序中有关于窗口位置的问题.

我需要在启动期间将窗口置于屏幕中央.我尝试了以下但是没有用.表单始终在左上角打开.

我在load事件中尝试了这些:

this.CenterToScreen();
this.Location = new Point((Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2,
                          (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2);
Run Code Online (Sandbox Code Playgroud)

更新:我已将表格的最大和最小尺寸设为1090,726.

我的设计器文件有这个代码:

        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.BackColor = System.Drawing.SystemColors.GrayText;
        this.ClientSize = new System.Drawing.Size(1074, 688);
        this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
        this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
        this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
        this.MaximizeBox = false;
        this.MaximumSize = new System.Drawing.Size(1090, 726);
        this.MinimumSize = new System.Drawing.Size(1090, 726);
        this.Name = "Mail_Remainder";
        this.RightToLeftLayout = true;
        this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
        this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; …
Run Code Online (Sandbox Code Playgroud)

c# winforms

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

'$'未定义javascript错误

<script type="text/javascript">
    $(function() {
        $('#WaterMark').draggable(
                    {
                        start: function(e, ui) {
                        },
                        cursor: 'move',
                        zIndex: 2700,
                        revert: 'invalid',
                        containment: '#OriginalImageContainer'
                    });
        $('#OriginalImage').droppable({
            hoverClass: 'DroppableOver',
            drop: InitializeWaterMark
        })
    });

    var InitializeWaterMark = function() {
        var position = $('#WaterMark').position();
        var imgPosition = $('#OriginalImageContainer').position();
        document.getElementById('xpos').value = position.left - imgPosition.left;
        document.getElementById('ypos').value = position.top - imgPosition.top;

    }
    </script>
Run Code Online (Sandbox Code Playgroud)

这是一个示例javascript代码我得到的关于在asp.net网页中的图像拖放...但它返回一个错误说'$'未定义 ..请帮助我

asp.net jquery

2
推荐指数
1
解决办法
9424
查看次数

从数组中删除空白值并建议一种更好的方法来读取由"|"分隔的文本文件数据

我试图从文本文件中获取值,其中使用" | "分隔条目 '.am使用字符串.Split方法获取值.但在某些地方,分隔符连续出现多次,如' ||||||||| ',所以在数组中插入空格我应该如何从数组中删除那些空元素,或者是否有任何有效的技术从"|"分隔的文本文件中读取值.下面是我的代码和数组值的屏幕截图

 var reader = new StreamReader(File.OpenRead(@"d:\er.txt"));
        while (!reader.EndOfStream)
        {
            var line = reader.ReadLine().Trim();
            var values = line.Split('|');
            string[] ee = values;

        }
Run Code Online (Sandbox Code Playgroud)

中间有空值的数组

任何人都可以建议一个更好的方法来读取由'|'分隔的文本文件中的数据

c# asp.net

2
推荐指数
1
解决办法
1657
查看次数

将标签作为参数传递给函数

我正在创建一个实用程序,在执行一些计算后将少量记录插入到SQL中.我正在使用后台工作程序来阻止应用程序进入无响应状态.随着流程的工作,我需要更改几个标签值,我使用委托.是否可以将我的标签作为参数传递给具有委托的函数,以便我可以重用一些代码?

下面是我用来更改label2的值的函数.对于label3,我使用了几乎相同的另一个函数.是否可以创建一个接受label作为参数的函数,以便我可以传递控件名称和所需的消息,并为我做更新?

这是我更改label2的代码:

public void changelabel(string msg)
{
    if (label2.InvokeRequired)
        label2.Invoke(new MethodInvoker(delegate
        {
            label2.Text = msg;
        }));
    else
        label2.Text = msg;
}
Run Code Online (Sandbox Code Playgroud)

c# delegates winforms

2
推荐指数
1
解决办法
5757
查看次数

使用互操作创建Excel文件时阻止Excel打开

大家好我正在使用Microsoft Office interop创建一个excel.它成功创建文件.但问题是,当它创建一个文件时,它只是打开excel将值添加到excel并将其保存在指定的名称.任何意外的输入时间结果导致异常.从数据库创建了近75个文件,并且因此需要时间.在处理过程中我无法执行任何任务,因为如果在excel中键入它会创建异常.是否有任何方法可以运行该进程在后台,以便excel应用程序不会为每个文件创建打开.

Excel.Application oXL;
Excel.Workbook oWB;
Excel.Worksheet oSheet;
Excel.Range oRange;

// Start Excel and get Application object. 
oXL = new Excel.Application();

// Set some properties 
oXL.Visible = true;
oXL.DisplayAlerts = false;

// Get a new workbook. 
oWB = oXL.Workbooks.Add(Missing.Value);

// Get the active sheet 
oSheet = (Excel.Worksheet)oWB.ActiveSheet;
oSheet.Name = "Sales";

// Process the DataTable 
// BE SURE TO CHANGE THIS LINE TO USE *YOUR* DATATABLE 
DataTable dt = dtt;

int rowCount = 1;
foreach (DataRow dr in dt.Rows)
{ …
Run Code Online (Sandbox Code Playgroud)

c# excel office-interop

2
推荐指数
1
解决办法
3818
查看次数

无法为图像itextsharp设置固定大小

我一直在使用iTextSharp来创建报告.我的报告中有许多不同大小的图像.尽管我缩放它们,但每个图像都会呈现不同的大小.我找到了许多解决方案但没有帮助.

我的代码:

PdfPCell InnerCell;
iTextSharp.text.Image logo = iTextSharp.text.Image.GetInstance(Server.MapPath(@"images\Logo.png"));
logo.ScaleToFit(80f, 80f);
InnerCell.FixedHeight = 80f;
InnerCell = new PdfPCell(logo); 
Run Code Online (Sandbox Code Playgroud)

我尝试将图像添加到块中,但图像将其自身置于顶部.由于是动态报告,我无法在块中指定x和y值

InnerCell = new PdfPCell(new Phrase(new Chunk(logo, 0, 0))); 
Run Code Online (Sandbox Code Playgroud)

我甚至试过这个,但我不能得到一个固定的大小.

c# pdf asp.net itextsharp

2
推荐指数
1
解决办法
9385
查看次数

将大型数据表存储到数据库中的有效方法

我已经从文本文件动态创建了一个数据表.现在我需要将值存储在database.i中找到一些使用foreach和数据行的示例,它工作正常

  foreach (DataRow row in dt.Rows)
  {
      // insert statement
  }
Run Code Online (Sandbox Code Playgroud)

我怀疑数据表可能包含数千行,使用foreach循环是否有效,或者我应该采用其他一些技术,如批量复制(我不知道它,所以请帮助我).谢谢你

c# sql ado.net

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