小编Adr*_*ode的帖子

在exe的资源部分更新图像(在c#/ C中)

我在资源部分的可执行文件中嵌入了很少的图像.我按照以下步骤创建了我的可执行文件:

  1. 使用某个实用程序为目录中的所有图像(.jpg)生成.resx文件.图像命名为image1.jpg,image2.jpg等.
  2. 使用以下命令从.resx文件创建.resources文件: resgen myResource.resx
  3. 使用/ res标志嵌入生成的.resource文件: csc file.cs /res:myResource.resources

4我正在访问这些图像:

ResourceManager resources = new ResourceManager("myResource", Assembly.GetExecutingAssembly());

Image foo = (System.Drawing.Image)(resources.GetObject("image1"));
Run Code Online (Sandbox Code Playgroud)

这一切都按预期工作正常.现在我想将嵌入的图像更改为一些新图像.这就是我目前正在做的事情:

class foo
{
    [DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr BeginUpdateResource(string pFileName, bool bDeleteExistingResources);

    [DllImport("kernel32.dll", SetLastError = true)]
        static extern bool UpdateResource(IntPtr hUpdate, string lpType, string lpName, string wLanguage, Byte[] lpData, uint cbData);

    [DllImport("kernel32.dll", SetLastError = true)]
        static extern bool EndUpdateResource(IntPtr hUpdate, bool fDiscard);


    public static void Main(string[] args)
    {
        IntPtr handle = BeginUpdateResource(args[0], false);

        if (handle.ToInt32() == …
Run Code Online (Sandbox Code Playgroud)

c# resources .net-2.0

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

文件似乎在被SmtpClient作为附件发送后保持打开状态.我该如何删除文件?

我有一些函数生成的文件定义为:

Public Function GeneratePDF(exportFileName As String) As String
    Dim GeneratePath As String = FileSystem.CombinePath(standardDirectory, exportFileName  & DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") & ".pdf")
    If GenerateFile(GeneratePath) Then
        Return GeneratePath
    End If
    Return String.Empty
End Function
Run Code Online (Sandbox Code Playgroud)

立即打印这些文件,文件自动保存到目录中; 文件本身不供实际软件用户使用.我对文件加时间戳,以便将它们唯一标识用于审计目的.

我现在已经收到要求将这些文件的一些外部邮件发送到公司,并且有人抱怨当前的文件名不是用户友好的.

因此,我尝试将生成的文件复制到临时目录,使用更友好的名称,通过电子邮件发送友好文件,然后删除它,使我的审计跟踪保持原样,如下所示:

Public Function GeneratePDF(exportFileName As String) As String
    Dim GeneratePath As String = FileSystem.CombinePath(standardDirectory, exportFileName  & DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") & ".pdf")
    If GenerateFile(GeneratePath) Then

        Dim friendlyFilePath As String = FileSystem.CombinePath(standardDirectory, GetFriendlyFileName(GeneratePath))
        System.IO.File.Copy(GeneratePath, friendlyFilePath)

        Dim mailMsg As New System.Net.Mail.MailMessage
        Dim smtp As New System.Net.Mail.SmtpClient
        [Vast amount of code, which attaches …
Run Code Online (Sandbox Code Playgroud)

.net vb.net email smtpclient

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

仅显示安全内容

我们公司的网站(ASP.Net 3.5)使用SSL保护结帐页面。用户正在IE底部收到“仅显示安全内容”消息。他们中的许多人都吓坏了,放弃了他们的购物车,我们失去了一笔交易。安全保护位于子文件夹中,并且IIS7配置为在该子文件夹上要求SSL。我使用IE dev工具栏尝试查看导致此问题的原因并获得以下信息:

SEC7111: HTTPS security is compromised by http://www.myCompany.com/WebResource.axd?d=dJde0NlmEkubWa-RO0uUtg2&t=633833944103732959 
Login.aspx
SEC7111: HTTPS security is compromised by http://www.myCompany.com/ScriptResource.axd?d=-4ipYW6oMR5JKr02ccZdGEkLMeXnvSWAqFrG98oQ5--7NMeKPsjwSVXJeHzqvzhsd1bLH85MgJQdnNYNUNH1gAXPGD9gbk2fwYnJI-0eaw41&t=ffffffffa6437166 
Login.aspx
SEC7111: HTTPS security is compromised by http://www.myCompany.com/ScriptResource.axd?d=-4ipYW6oMR5JKr02ccZdGEkLMeXnvSWAqFrG98oQ5--7NMeKPsjwSVXJeHzqvzhsvkt8QvjGkHw2IYbLkF5RHr1t21TH0EEkLDcUGVpdxdE1&t=ffffffffa6437166 
Login.aspx
Run Code Online (Sandbox Code Playgroud)

我们也有很多令人讨厌的javascript文件,但是通过将它们复制到安全目录中来解决这些问题。这让Chrome和Firefox感到高兴,但我们仍然可以通过IE收到消息。

我如何才能停止弹出窗口,并避免将客户吓跑?

asp.net security ssl securityswitch

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

从字符串中删除HTML

我试图从我的RSS源清除HTML编码.我无法弄清楚如何设置以下来取出HTML编码.

var rssFeed = XElement.Parse(e.Result);

var currentFeed = this.DataContext as app.ViewModels.FeedViewModel;
var items = from item in rssFeed.Descendants("item")                            
            select new ATP_Tennis_App.ViewModels.FeedItemViewModel()
            {

                Title = item.Element("title").Value,
                DatePublished = DateTime.Parse(item.Element("pubDate").Value),
                Url = item.Element("link").Value,
                Description = item.Element("description").Value
            };

foreach (var item in items)
    currentFeed.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)

c# windows-phone-7

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

有一个sln文件,可以列出该sln下所有项目的所有文件吗?

是否存在执行以下操作的方法或扩展:

有了一个*.sln文件,我可以列出所有项目中的所有文件或该sln下的所有解决方案文件夹吗?

所以,如果我这样做,dotnet sln list那么我从该解决方案文件中获取项目列表,但我需要的是获取所有文件.

我真正需要的是将所有这些文件复制到不同的文件夹中.

.net msbuild build .net-core dotnet-cli

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

Response.Write Base64字符串

我收到一个Base64字符串,它实际上是PDF文件的字符串表示形式.我想用Response.Write写这个字符串,但不将其转换回二进制表示.

我试过这个:

var base64string = "...";
Response.Write(base64String);
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Transfer-Encoding", "base64");
Run Code Online (Sandbox Code Playgroud)

浏览器无法将内容识别为base64编码的PDF文件.我怎样才能解决这个问题?

编辑:这是回应

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/pdf; charset=utf-8
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
Content-Transfer-Encoding: base64
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 11 Apr 2012 11:00:04 GMT
Content-Length: 107304

JVBERi0xLjQKJeLjz9MKMSA... more content here
Run Code Online (Sandbox Code Playgroud)

c# asp.net http

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

像entitydatasource中的operator一样

我在asp .net格式中使用EntityDataSource,Gridview绑定到它.在entityDataSource中使用where子句:

Where="it.Name like '%@Name%'
Run Code Online (Sandbox Code Playgroud)

@Name 是一个参数:

<WhereParameters>
<asp:ControlParameter ControlID="TextBox1" Name="Name" PropertyName="Text" Type="String"  />
</WhereParameters>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.当我@Name用固定字符串更改它正常工作,如下所示:

Where="it.Name like '%ppp%'"
Run Code Online (Sandbox Code Playgroud)

asp.net gridview entity-sql entitydatasource sql-like

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

属性方法?

也许我忽略了一些明显的东西,但我在代码中看到过你可能有像"HairColor"这样的属性,然后是像"HairColor.Update()"这样的方法.这可能吗?

Person person = new Person(int personID);
person.HairColor = "Blonde";
person.HairColor.Update();
Run Code Online (Sandbox Code Playgroud)

我有特定的属性,我希望能够逐个扩展.我想我可以有一个名为"HairColorUpdate"的方法,但似乎应该可以使用HairColor.Update().我不想使用"set",因为我并不总是希望以这种方式更新DB.

我这样做的原因是因为我可能只想调用数据库来更新一列而不是调用我的save方法,该方法更新每一列有望提高效率.

.net c#

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

SQL获取最新的日期记录

我有一个查询具有以下内容

DATE                    ID              Name
---                     ------------    -----------
2012-02-07 11:24:53.000 00001-KK-12 Smith, JEN  
2011-12-28 00:00:00.000 00001-KK-12 Bearson, Matt   
2012-02-13 10:38:18.000 00003-KJ-12 Wick, Julian    
Run Code Online (Sandbox Code Playgroud)

我需要做的是获取给定ID的最新日期,然后显示结果

所以在这种情况下,它将是:

DATE                    ID              Name
---                     ------------    -----------
2012-02-07 11:24:53.000 00001-KK-12 Smith, JEN  
2012-02-13 10:38:18.000 00003-KJ-12 Wick, Julian    
Run Code Online (Sandbox Code Playgroud)

我尝试使用Top(1)和基于ID的组,但是没有成功

sql sql-server sql-server-2008-r2

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

无容器控制流语法 - IE8无法正确呈现模板

当使用无容器语法并调用Knockoutjs模板时,IE8无法在foreach控制流中正确呈现模板.初始化工作正常,但如果items更改,则渲染错误.这只发生在IE8上,9是好的,甚至7个工作.

模型

function BrowseModel() {
    var self = this;
    self.items = ko.observableArray();
    self.itemsStep = ko.observable(1);
    self.repopulate = function() {
        self.itemsStep(self.itemsStep() + 3);
        return false;
    };
    ko.computed(function() {
        var arr = [];
        for (var i = self.itemsStep(); i <= self.itemsStep() + 5; i++) {
            arr.push(i);
        }
        self.items(arr);
    }, self);
}

ko.applyBindings(new BrowseModel());
Run Code Online (Sandbox Code Playgroud)

视图

<a href="javascript:;" data-bind="click: repopulate">Change items</a>
<ul>
    <!-- ko foreach: items -->                                                 
        <!-- ko template: { name: 'product_template'} -->
        <!-- /ko -->  
   <!-- /ko -->
</ul>

<ul> …
Run Code Online (Sandbox Code Playgroud)

knockout.js

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

我想以他现在的年龄来计算出生年份,

我想通过计算当前年龄来计算出生年份,例如他的年龄是30岁,在datetimepicker框中,日期应该显示为01/01/1982.它应该是自动计算.

         int todayyears = int.Parse (DateTime.Now.Year.ToString());

        int a = int.Parse (int.Parse(txt_age.Text).ToString());

        string dif = (todayyears - a).ToString();

        txt_dob.Text = dif;
Run Code Online (Sandbox Code Playgroud)

这txt_age是给定的输入值,txt_dob在给出输入后自动显示出生日期txt_age.

c# winforms

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

使用C#三元运算符

可能是一个简单的语法问题.这是对控制台程序的尝试,该程序读取通过用户输入接收的字符串的长度.如果长度大于144,则通知用户字符串长度太长,否则输入的字符串仅输出到控制台.

string input = Console.ReadLine();
(input.Length > 144) ? Console.WriteLine("The message is too long"); : Console.WriteLine(input);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

在第2行获取当前状态的语法错误.我错过了括号吗?

c# ternary operator-keyword

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