在我的代码中,我目前有一个异常处理设置,它将异常记录到文本文件中.但是,当我调试代码时,我宁愿不处理异常并让执行停止而不是读取文件,设置断点等.是否有一种简单的方法可以使用构建和发布配置(某些东西)像预处理器指令我可以用来注释掉一些异常处理代码)?
事实证明,有一个比原始问题更好的解决方案,请参阅第一个答案.
如何定义[OperationContract] [WebGet]方法来返回存储在字符串中的XML,而不对字符串进行HTML编码?
该应用程序使用WCF服务返回已存储为字符串的XML/XHTML内容.XML与[DataContract]的任何特定类都不对应.它意味着由XSLT使用.
[OperationContract]
[WebGet]
public XmlContent GetContent()
{
return new XmlContent("<p>given content</p>");
}
Run Code Online (Sandbox Code Playgroud)
我有这门课:
[XmlRoot]
public class XmlContent : IXmlSerializable
{
public XmlContent(string content)
{
this.Content = content;
}
public string Content { get; set; }
#region IXmlSerializable Members
public System.Xml.Schema.XmlSchema GetSchema()
{
return null;
}
public void ReadXml(XmlReader reader)
{
throw new NotImplementedException();
}
public void WriteXml(XmlWriter writer)
{
writer.WriteRaw(this.Content);
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
但是在序列化时,会有一个包含给定内容的根标记.
<XmlContent>
<p>given content</p>
</XmlContent>
Run Code Online (Sandbox Code Playgroud)
我知道如何更改根标签的名称([XmlRoot(ElementName ="div")]),但我需要省略根标签,如果可能的话.
我也试过[DataContract]而不是IXmlSerializable,但似乎不太灵活.
我试图将一个表复制到另一个表"原子地".基本上我想定期更新表,这样如果另一个进程正在更新表,从表中读取的进程将不会得到不完整的结果.
为了给出一些背景信息,我想要一个充当游戏排行榜的桌子.该排行榜将通过单独的流程每隔几分钟更新一次.我的想法如下:
表SCORES包含可在公众可见的排行榜,当用户查看排行榜时将从该排行榜中读取.此表每隔几分钟更新一次.更新排行榜的过程将创建包含新排行榜的SCORES_TEMP表.创建该表后,我想将其所有内容"原子地"复制到SCORES.我想我想做的是:
TRUNCATE TABLE SCORES;
INSERT INTO SCORES SELECT * FROM SCORES_TEMP;
Run Code Online (Sandbox Code Playgroud)
我想替换SCORES中的所有内容.我不需要维护主键或自动增量值.我只是想从SCORES_TEMP中获取所有数据.但我知道,如果有人在完成这两个陈述之前查看了分数,那么排行榜将是空白的.我怎样才能原子地做到这一点,以至于它永远不会显示空白或不完整的数据?谢谢!
可以使用JDO语法轻松查询多个参数,如下所示:
//specify the persistent entity you're querying and you filter usign params
query = pm.newQuery(MyClass.class, " customer == paramCustomer && date >= paramStartDate && date <=paramEndDate ");
// declare params used above
query.declareParameters("com.google.appengine.api.users.User paramCustomer, java.util.Date paramStartDate, java.util.Date paramEndDate");
//pass the object declared as params
MyClassList = (List<MyClass>) query.execute(user, startDate, endDate);
Run Code Online (Sandbox Code Playgroud)
使用过滤器以编程方式构建字符串非常简单:
"customer == paramCustomer && date >= paramStartDate && date <=paramEndDate"
Run Code Online (Sandbox Code Playgroud)
和params声明的另一个strign:
"com.google.appengine.api.users.User paramCustomer, java.util.Date paramStartDate, java.util.Date paramEndDate"
Run Code Online (Sandbox Code Playgroud)
什么不是立即提出一个策略来执行查询取决于过滤器中的哪些参数(并已被声明),所以你最终得到了一些非常丑陋和临时的级联if-else语句查询执行的可能排列(所有参数,只有第一个,只有第二个,第一个和第二个......):
MyClassList = (List<MyClass>) query.execute(user, startDate, endDate);
Run Code Online (Sandbox Code Playgroud)
我确信这是一项共同的任务,而其他人则以更加通用和有效的方式进行.
有什么建议吗?
我正在尝试为我拥有的COM对象(名为SC_COM.dll)生成一个C#包装器,但是在将它与Visual Studio 2008(运行Vista)链接时遇到了一些问题.我需要使用COM DLL免费注册 - 我使用清单文件让Visual Studio了解SC_COM.dll,这似乎正在运行.我使用TblImp.exe生成我在Visual Studio 2008中引用的类型库(SC_COMtlb.dll),因此我可以使用我需要的DLL进行早期绑定.DLL与清单和可执行文件位于同一目录中.
这是问题:当我实例化对象并尝试在C#中调用其中一个方法时,它会抛出以下错误:
检测到错误:无法将类型为"SC_COMtlb.SCAccessObjClass"的COM对象强制转换为接口类型"SC_COMtlb.ISCUploader".此操作失败,因为对于具有IID"{C677308A-AC0F-427D-889A-47E5DC990138}"的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE)) .
我不完全确定这个错误意味着什么 - 我已经对错误代码进行了搜索,而且它似乎是一个相对普遍的C#错误.所以我要在这里以错误的方式链接COM对象,还是有一些其他重要的步骤我可能会丢失?
我应该注意到,我不完全确定我生成的类型库(S\C_COMtlb.dll)是如何知道实际COM DLL的位置,因为它没有在系统中注册 - 我认为它只是看起来相同目录.这可能是问题,如果是这样,我怎样才能更好地将这两者联系起来?
我正在设计一个应用程序,我正在寻找最好的方法来告诉谁当前登录到SQL服务器.我将使用SSMS内置的Activity Monitor,它显示了访问服务器的所有进程的列表 - 非常酷.
但是,如果在我的.NET代码中,每次访问数据库时它都使用单独的连接,那么我如何能够告诉谁当前登录?如果用户只是在看屏幕而当时没有从数据库中检索数据,那么它们就不会显示正确吗?
如何创建一个只包含一些数据文件且没有内置输出的项目文件(VS 2008)?
我可以创建一个空项目并将我的数据文件添加到它(它被复制到输出文件夹),但它在我进行构建后生成一个EmptyProject.dll.我只想要输出目录中的数据文件,而不是一些空的DLL或EXE.
我希望数据文件是这个项目中唯一的东西,因为项目将在几个解决方案中共享.
我们的应用程序是C#.我们所有的常规代码项目都是C#.
数据文件是模式(XSD).我希望这些模式位于输出文件夹中,但我不希望它们包含在现有项目中.我想要一个名为"Schemas"的项目,除了XSD文件之外什么都没有,除了将XSD文件复制到输出文件夹之外什么都不做.我想在项目文件中这样,以便可以在多个解决方案中引用相同的模式项目.
在Management Studio中,您可以右键单击表组以为表列表创建过滤器.有没有人想出一种在过滤器中包含多个表的方法?例如,我想要显示所有带" br_*
"和" tbl_*
"的表格.
有人知道怎么做吗?
你好,我有一个批处理文件,如下所示:
if %day%==monday, tuesday, wednesday, thursday, friday (
goto yes
) else (
goto no
)
Run Code Online (Sandbox Code Playgroud)
现在我知道第一行不起作用.
我真正想要发生的事情:
它会自动检查它是哪一天.如果是周一到周五,则必须转到"是",否则(周六/周日)转到"否".
这该怎么做?