我是WCF的新手.我有一个场景,我需要创建一个运行24x7的应用程序从邮箱中提取邮件并创建一些报告.我使用winform做了它并且它工作.但我有一个问题,服务器在哪托管的应用程序有一个自动注销策略,当服务器处于非活动状态一段时间后关闭我的应用程序.我想我可以将它作为一个窗口服务实现.是为这个场景推荐的WCF服务,使用它的任何优点.我想到了WCF服务,因为它将为我学习曲线.请咨询.
更新:它的应用程序基于计时器.它每5分钟ping一个特定的邮箱,以查看新邮件.如果找到新邮件,它会下载一个excel创建PDF报告并将其邮寄回一些电子邮件ID.
使用DLLS:OpenPOP和Itextsharp.
这是我在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
我只是试图使用控制台应用程序来掌握虚拟功能的概念.我注意到,一旦覆盖基类函数,返回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) 我正在尝试使用 azure devops 创建 Nuget 包。我想在创建稳定版本之前创建包的预发行版本。当前正在尝试打包 .netstandard 2.0 应用程序。
我尝试过的 -
尝试在 csproj - 中设置版本<Version>1.0.6-alpha</Version>
。这确实有效,但我不确定当我想将其升级为稳定版本时如何删除该 alpha 标签
我希望包从程序集中获取版本(不使用自动版本控制),例如,如果程序集版本是 1.0.0,我需要一个 1.0.0-alpha 的包,然后在转移到生产环境时需要 1.0.0。我可以在网上看到许多使用预设版本号(在变量选项卡中)和附加版本号等的解决方案,但我正在寻找一种可以使用程序集本身的版本而不是自定义定义的方法。这是解释包版本控制的链接
下面是我尝试过的管道
我在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) <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网页中的图像拖放...但它返回一个错误说'$'未定义 ..请帮助我
我试图从文本文件中获取值,其中使用" | "分隔条目 '.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)
任何人都可以建议一个更好的方法来读取由'|'分隔的文本文件中的数据
我正在创建一个实用程序,在执行一些计算后将少量记录插入到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) 大家好我正在使用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) 我一直在使用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)
我甚至试过这个,但我不能得到一个固定的大小.
我已经从文本文件动态创建了一个数据表.现在我需要将值存储在database.i中找到一些使用foreach和数据行的示例,它工作正常
foreach (DataRow row in dt.Rows)
{
// insert statement
}
Run Code Online (Sandbox Code Playgroud)
我怀疑数据表可能包含数千行,使用foreach循环是否有效,或者我应该采用其他一些技术,如批量复制(我不知道它,所以请帮助我).谢谢你