小编Sim*_*ine的帖子

如何发送HTML格式的电子邮件?

我可以让Web应用程序使用Windows任务计划程序发送自动电子邮件.现在我想使用我为发送电子邮件而编写的以下方法发送HTML格式的电子邮件.

我的代码隐藏:

protected void Page_Load(object sender, EventArgs e)
    {
        SmtpClient sc = new SmtpClient("mail address");
        MailMessage msg = null;

        try
        {
            msg = new MailMessage("xxxx@gmail.com",
                "yyyy@gmail.com", "Message from PSSP System",
                "This email sent by the PSSP system");

             sc.Send(msg);
        }

        catch (Exception ex)
        {
            throw ex;
        }

        finally
        {
            if (msg != null)
            {
                msg.Dispose();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

怎么做?我只想在电子邮件中添加一些带有一个链接和一个图像的粗体文本.

c# asp.net

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

何时不使用RegexOptions.Compiled

我理解使用RegexOptions.Compiled的优点 - 它通过以编译形式使用正则表达式而不是在运行时解释它来改进app的执行时间.虽然不建议在启动时已经很慢的应用中使用它.

但是如果我的应用程序可以承受任何轻微的启动时间增加 -
我不应该使用RegexOptions.Compiled的其他情况是什么?

就像一个笔记我多次调用这个方法 -

private static string GetName(string objString)
{
    return Regex.Replace(objString, "[^a-zA-Z&-]+", "");
}
Run Code Online (Sandbox Code Playgroud)

因此,使用'objString'的不同值调用此方法(尽管objString的值也可能重复).

你觉得在这里使用RegexOptions.Compiled是好还是不好?任何网络链接都会非常有用.
谢谢!


编辑

我用两者测试了我的网络应用程序

  • RegexOptions.Compiled,和
  • 实例Regex化为类变量

但是在我的Web应用程序所花费的时间内找不到任何重大差异 - 我在两种情况下都注意到的事情是,第一次应用程序加载它时所花费的时间比连续页面加载时花费的时间长一倍,而且无论是我是否使用RegexOptions.Compiled.

任何评论 -
为什么我的Web应用程序需要更长的时间才能使Regex首次处理并且所花费的时间在后续加载中减少到几乎一半或更少 - 是否有任何内置缓存或其他.net功能在这里有所帮助.PS如果我使用RegexOptions.Compiled与否,这件事情是一样的.

c# regex

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

标准ML仿函数示例

标准ML中的函数与模块系统相关,并且可以基于其他结构生成结构.下面给出了为各种类型的列表生成列表组合器的仿函数的示例,但是此示例存在一个问题:

各种类型的列表都具有优势 - 例如,惰性列表可以无限长,并且concantenation列表具有O(1)concat运算符.但是当所有这些列表类型符合相同的签名时,仿函数只能使用它们的常规属性.

因此,我的问题是:什么是一个很好的例子,当函子有用时,各种生成的结构不会失去它们的特殊能力?

signature MYLIST =
sig
  type 'a t
  val null : 'a t -> bool
  val empty : 'a t
  val cons : 'a * 'a t -> 'a t
  val hd : 'a t -> 'a
  val tl : 'a t -> 'a t
end

structure RegularList : MYLIST =
struct
  type 'a t = 'a list
  val null = List.null
  val empty = []
  val cons = op::
  val hd = List.hd
  val tl …
Run Code Online (Sandbox Code Playgroud)

functional-programming ml sml functor

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

相当于Java 7中的map(来自haskell)

在Haskell中有一个名为的函数map,它接受List of Type A和一个函数f,将类型A的值映射到type 的值B.它返回一个类型列表B,这样结果列表的每个元素都来自f对输入列表中值的调用.

例如,给定

  • 一份清单m = ['a', 'b', 'c'],
  • 和一个功能f = {'a' -> 1, 'b' -> 2, 'c' -> 3},
  • 然后map(m, f) = [1, 2, 3].

是否有一个可以与Java 7一起使用的库提供类似map功能的库?我已经查看了apache CollectionUtils并发现了像forAllDotransform这样的东西,但它们不允许重新调整一个完全不同类型的集合.谷歌搜索其他库失败的原因相同.

要明确:我知道如何自己解决问题,但我强烈认为必须已经存在一个更好地执行此任务的好库.

额外的问题:在Java 7中是否有一些与Haskell仿函数相当的东西(即从集合转移到迭代)?进一步的解释:是否有一个map函数Iterable<A>代替Collection<A>并返回一个Iterable<B>而不是Collection<B>(由拟合函数提供f)?

java haskell

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

对于Haskell类型类,您该怎么做呢?

我知道类型类对于组织数据和类型检查等非常有用,但是除了序言中已经包含的内容之外,是否需要定义自己的类?

在几乎任何情况下,只要定义一个数据或新类型,无论如何都会获得几乎相同的效果。使用内置的“ Ord”,“ Eq”,“ Show”等,似乎足以完成您想对类进行的任何操作。

当我在Haskell中查找项目的类时,会得到很多类似的示例类:

class Foo a where
    bar :: a -> a -> Bool
Run Code Online (Sandbox Code Playgroud)

如果有使用类型类的理由,那么有没有人有一个好的项目供初学者练习使用它们或为它们提供一些好的形式指南?

haskell

9
推荐指数
2
解决办法
168
查看次数

我如何通过 git 依赖 Cargo 工作区中的 crate?

给定一个 git 存储库中的Cargo 工作区,其中包含一个 cratefoo以及bar该工作区之外的另一个 crate,我如何依赖fooin bar?如果foo只是一个常规的 crate-within-a-git-repo,则可以执行以下操作:

foo = { git = "ssh://git@server/some/foo.git", ... }
Run Code Online (Sandbox Code Playgroud)

如果foo位于 Cargo 工作空间内并且它位于本地目录中,则以下内容有效:

foo = { path = "../../some-workspace/foo" }
Run Code Online (Sandbox Code Playgroud)

但是使用git = "ssh://..."它指向包含 Cargo 工作区的存储库,我无法foo特别指定该箱子。

不可能组合git = "..."path = "...",因为它们是互斥的。

在The Cargo Book 的指定 git 存储库的依赖项中,它提供了branch = "..."tag = "..."rev = "...",但没有“子箱的目录名称,即箱的名称”。Cargo.toml 中的重命名依赖项package …

git rust rust-cargo

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

取消某些Haskell Alex/Happy编译消息

在使用Alex lexer生成器或Happy解析器生成器创建一个Lexer.x或一个Parser.y解析器时,将它们编译成Haskell文件,并将它们编译成目标文件,默认情况下会产生以下"警告":

$ ghc Lexer
line-map.c: file "<command-line>" left but not entered
line-map.c: file "<command-line>" left but not entered
[1 of 1] Compiling Lexer            ( Lexer.hs, Lexer.o )
$ happy Parser.y
$ ghc Parser
line-map.c: file "<command-line>" left but not entered
line-map.c: file "<command-line>" left but not entered
[2 of 2] Compiling Parser           ( Parser.hs, Parser.o )
Run Code Online (Sandbox Code Playgroud)

这些行是由于生成的.hs文件中嵌入了以下行而产生的:

{-# LINE 1 "<command-line>" #-}
Run Code Online (Sandbox Code Playgroud)

为什么包含这些行,并且有一种方法可以抑制这些消息,以防命令行显然没有用于生成的词法分析器和解析器中的任何内容?

haskell parser-generator alex happy

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

以下常规语言的最小抽水长度

以下语言的最小抽水长度是多少?

  1. 空语
  2. (01)*
  3. 10(11*0)*0
  4. 1011
  5. 011 ü 0*1*

这是我的解决方案.如果我错了,请纠正我.

  1. p = 0,因为该语言没有可泵送的字符串
  2. p = 2因为01是可以泵送的最短字符串
  3. p = 5因为10100是可以泵送的最短字符串
  4. p = 0,因为不能抽出字符串
  5. p = 1,因为0可以泵送字符串

我不确定我的答案,所以任何帮助都表示赞赏.非常感谢!

computer-science compiler-theory computation-theory regular-language

8
推荐指数
2
解决办法
7053
查看次数

CS8019临时文件MSBuild Server上的Assemblyinfo出错

我的构建服务器上出现代码分析错误,错误是

... NETFramework,Version = v4.6.AssemblyAttributes.cs(3,1):错误CS8019:不必要的using指令.

这是Visual Studio创建的Temp文件.

在我的项目中,我有" 从生成的代码中抑制结果(仅限管理) ".我原以为这就足够了.

但我仍然得到服务器上的错误,本地我没有.

有任何想法吗?

.net c# msbuild code-analysis fxcop

8
推荐指数
2
解决办法
2573
查看次数

在yacc中%左和右

{%
#include<stdio.h>
#include<stdlib.h>
%}

%token ID NUM IF THEN LE GE EQ NE OR AND ELSE

%right '='
%left AND OR
%left '<' '>' LE GE EQ NE
%left '+''-'
%left '*''/'
%right UMINUS
%left '!'

%%
Run Code Online (Sandbox Code Playgroud)

提到上面是yacc程序的一部分,用于简单的IF ELSE程序....我只是一个初学者而且不明白我们的意思%right%left术语...... plz在这个场合帮助我......

compiler-construction syntax gcc yacc if-statement

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