我有一个用ASP.net和C#开发的Web应用程序,它运行在我公司的内部网上.因为此应用程序的所有用户都毫无例外地使用Microsoft Outlook,所以我希望应用程序在客户端打开Outlook消息. 我知道Office设计为在桌面上运行而不是从服务器运行,但是我在客户端创建Word或Excel文档没有问题.
我有使用Microsoft.Office.Interop.Outlook命名空间和服务器上安装的Outlook实例化Outlook对象的代码.当我尝试从服务器运行代码时,我收到一条DCOM源错误消息,指出"机器默认权限设置不授予具有CLSID的COM服务器应用程序的本地激活权限{000C101C-0000-0000-C000-000000000046用户可以使用组件服务管理工具修改此安全权限." 我已使用组件服务工具修改了权限,但仍然遇到同样的错误.
有没有办法克服这个问题,或者这是一个徒劳无功的练习,因为Outlook无法在客户端从服务器端代码打开?
由于电子邮件可以获得的极长,Mailto将无法工作.此外,发送它的用户需要为收件人的文本添加眼睛.
好的,正则表达式巫师.我希望能够搜索我的日志文件并找到其中包含"错误"一词的任何会话,然后返回整个会话日志条目.
我知道我可以使用字符串/数组来完成此操作,但我想学习如何使用Regex,但这是问题所在.如果我决定用Regex做这个,我有一两个问题吗?; O)
这是日志:
PS:我正在使用perl Regex引擎.
注意:我认为我不能在Regex中完成这项工作.换句话说,我现在有两个问题.; o)我已经尝试了下面的解决方案但是,因为我通过声明我使用的是Perl引擎而混淆了这个问题,许多答案都在Perl中(在我的情况下不能使用).不过我在下面发布了我的解决方案.
2008.08.27 08:04:21 (Wed)------------Start of Session-----------------
Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)
Sending stdin.txt to foo@bar.com
Subject: test 1
Login name is foo@bar.com
The SMTP server does not require AUTH LOGIN.
Are you sure server supports AUTH?
The SMTP server does not like the sender name.
Have you set your mail address correctly?
2008.08.27 08:04:24 (Wed)-------------End of Session------------------
2008.08.27 08:05:56 (Wed)------------Start of Session-----------------
Blat v2.6.2 w/GSS …Run Code Online (Sandbox Code Playgroud) 我想要做的是检查彼此相邻的重复单词,但即使两者之间存在标点符号.
例如:
Vivamus Vivamus diam, diam, Vivamus Vivamus diam, diam Vivamus
Run Code Online (Sandbox Code Playgroud)
这里应该有4个不同的点击.
我无法弄清楚为什么这不起作用; 谁能解释为什么,并告诉我正确的代码应该是什么?
谢谢.
(\w*(?:[ ,\.])*?)\1
Run Code Online (Sandbox Code Playgroud)
PS:由于它引起的混乱,我不会说我正在使用Perl引擎.
我需要搜索那些违反我们"不使用您的数据中的社会安全号码"规则的人,并且需要知道下面两行之间是否存在性能差异(以及原因).
谢谢.
[0-9]{3}-[0-9]{2}-[0-9]{4}
Run Code Online (Sandbox Code Playgroud)
VS
\d\d\d-\d\d-\d\d\d\d
Run Code Online (Sandbox Code Playgroud)
请求的详细信息:
引擎:删除以阻止标记混淆
我试图找到最快的方法来查找父表中没有子表中的某些记录的所有记录.例如,我希望查询返回所有没有男孩或根本没有孩子的家庭记录.
这很痛苦:
SELECT*FROM Families
WHERE Families.FamilyID NOT IN(选择FamilyID FROM Children WHERE Children.Gender ="m")
这更快:
SELECT*FROM Families
WHERE NOT EXISTS(SELECT*FROM Children WHERE Children.Gender ="m"AND Children.FamilyID = Families.FamilyID)
这是最快的,但我担心投资它,因为我找不到任何文件.我甚至不知道它叫什么.由于缺少更好的术语,我们一直称之为"匿名查询".
SELECT*FROM Families
LEFT JOIN
[SELECT*FROM Children WHERE Gender ="m"].AS AliasChildren ON Families.FamilyID = AliasChildren.FamilyID
WHERE AliasChildren.FamilyID IS NULL
所以我的问题是:
谢谢!
我正在写我的反垃圾邮件/恶意过滤器,如果可能,我需要,
匹配(检测)仅由混合字符形成的单词,如:fr1&nd $而不是朋友
这是可能的正则表达式!?
最好的祝福!
我的印象是,使用#import只会在每次构建时导入一次文件,但在尝试在头文件中定义变量,然后在两个不同的源文件中导入该头文件后,我得到变量的重复符号链接器错误.这怎么可能?
好吧,所以我有一个短语"foo bar",我想找到一切但是"foo bar".
这是我的文字.
ipsum dolor foo bar Lorem ipsum dolor sit amet,consectetur adipisicing elit,
sed do
eiusmod tempor foo bar incididunt ut labore et
dolore foo bar
有一种方法可以在正则表达式中做到这一点吗?我不必去使用字符串等吗?
结果:
注意我不能做一个很好的突出显示,但粗体给你一个想法(虽然前后的空格也将被选中,但它打破了粗体).
ipsum dolor foo bar Lorem ipsum dolor sit amet,consectetur adipisicing elit,
sed do
eiusmod tempor foo bar incididunt ut labore et
dolore foo bar
假设PCRE命名法.
更新2013年7月29日:最好使用您选择的语言中的搜索和替换功能,只是"删除"您不想要的短语,这样您就可以获得所需的信息.
编辑:非常有用的答案 - 谢谢你!更多关于那个讨厌的输入文件.字段数是可变的,位置已经改变了几次 - 我当前的脚本通过分析标题行来确定内容(好吧,fastcsv和一个狡猾的转换器这样做).因此,如果没有多个版本的加载文件,直接上传和后期处理SQL将无法运行,这很糟糕.它也是一个德国的CSV文件:用冒号分隔(没什么大不了的)和用逗号表示的小数(相当大的交易,除非我们加载为VARCHAR和文本处理之后 - 呃).
以大约7 /秒的速度装载200万行将需要超过24小时!这可能是日常流程的一个缺点,更不用说用户希望能够以CSV格式提供大约5个小时后才能访问数据!
我考虑过每次网络访问应用多个插入:相当笨拙的INSERT ALL...语法很好,除了目前我正在使用一个序列为每一行应用一个唯一的id.它发生了这一点
INSERT ALL
INTO tablea (id,b,c) VALUES (tablea_seq.nextval,1,2)
INTO tablea (id,b,c) VALUES (tablea_seq.nextval,3,4)
INTO tablea (id,b,c) VALUES (tablea_seq.nextval,5,6)
SELECT 1 FROM dual;
Run Code Online (Sandbox Code Playgroud)
(我说它是笨拙的吗?)尝试对所有三行使用相同的id.Oracle docus似乎证实了这一点.
最新的尝试是在一次执行中发送多个INSERT,例如:
INSERT INTO tablea (id,b,c) VALUES (tablea_seq.nextval,1,2);
INSERT INTO tablea (id,b,c) VALUES (tablea_seq.nextval,3,4);
INSERT INTO tablea (id,b,c) VALUES (tablea_seq.nextval,5,6);
Run Code Online (Sandbox Code Playgroud)
我还没有办法说服甲骨文接受这一点.
无论出于何种原因,我更喜欢让我的代码尽可能不受特定于平台的构造的影响:出现这个问题的一个原因是我正在从MySQL迁移到Oracle; 由于地理原因,可能有一天会发生另一次移动,我无法确定该平台.因此,使我的数据库库可以使用文本SQL命令来实现合理的扩展是有吸引力的,并且PL/SQL块实现了这一点.现在,如果出现另一个平台,则更改将仅限于更改代码中的适配器:一个单行,很可能.
在java中实现工厂模式的时候
假设需要实现产品工厂,需要产品接口,所有具体类如AProduct,BProduct和CProduct都将实现产品接口.
Public Static Product createProduct(String prdName);
工厂方法的签名如上所示.
现在如果一个新产品说DProduct被引入,那么我们需要对createProduct方法进行更改,所以这个模式不遵循OPEN CLOSE Principle.
(开放关闭原则是您的代码应该是开放的扩展和关闭修改.)
我可以应用任何其他模式,这将解决我的问题.