小编Jer*_*emy的帖子

.Net WFC/Web服务异常处理设计模式

我试图在.net wcf服务(特别是支持Silverlight的wcf服务)中提出一个简单易用的设计模式来处理错误.如果在服务方法中抛出异常,silverlight应用程序将看到一个CommunicationException,指出"远程服务器返回错误:NotFound --->",可能还有一个堆栈跟踪,具体取决于您的设置,这完全没有用,因为它没有告诉你实际的错误,通常真正的错误不是"NotFound".

阅读Web服务和wcf服务和异常,您需要抛出soap/wcf标准异常,例如FaultException或SoapException.因此,对于wcf服务,您需要将每个方法包装在try catch中,捕获每个异常,将其包装在FaultException中并抛出它.至少这是我的理解,如果我错了,请纠正我.

所以我创建了我的设计模式:

[ServiceContract(Namespace = "http://MyTest")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class DataAccess
{
    /// <summary>
    /// Error class, handle converting an exception into a FaultException
    /// </summary>
    [DataContractAttribute]
    public class Error
    {
        private string strMessage_m;
        private string strStackTrace_m;

        public Error(Exception ex)
        {
            this.strMessage_m = ex.Message;
            this.strStackTrace_m = ex.StackTrace;
        }

        [DataMemberAttribute]
        public string Message
        {
            get { return this.strMessage_m; }
            set { this.strMessage_m = value; }
        }

        [DataMemberAttribute]
        public string StackTrace
        {
            get { return this.strStackTrace_m; }
            set …
Run Code Online (Sandbox Code Playgroud)

.net wcf web-services exception

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

高效的交易,记录锁定

我有一个存储过程,它选择1条记录.可以从不同PC上的几个不同应用程序调用存储过程.这个想法是存储过程带回了需要处理的下一条记录,如果两个应用程序同时调用存储过程,则不应该返回相同的记录.我的查询如下,我正在尝试尽可能高效地编写查询(sql 2008).它可以比这更有效地完成吗?

CREATE PROCEDURE GetNextUnprocessedRecord
AS
BEGIN
    SET NOCOUNT ON;

    --ID of record we want to select back
    DECLARE @iID BIGINT     

    -- Find the next processable record, and mark it as dispatched
    -- Must be done in a transaction to ensure no other query can get
    -- this record between the read and update
    BEGIN TRAN

        SELECT TOP 1
            @iID = [ID]
        FROM
            --Don't read locked records, only lock the specific record
            [MyRecords] WITH (READPAST, ROWLOCK)
        WHERE
            [Dispatched] is null …
Run Code Online (Sandbox Code Playgroud)

sql-server locking transactions

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

问题/缺陷跟踪软件

我们小组目前正在审查我们的工具集,并在源代码管理和项目管理软件之外寻找新的缺陷/问题跟踪软件.

对于问题跟踪,我们查看了bugzilla,fogbugz,bugtracker.net,sourcegear fortres和bugnet.

我对我们提出的清单不满意,所以我很想知道其他人在使用什么.

我们正在寻找安全的Active目录集成,虽然我们已经满足于Windows应用程序,可能优先考虑Web界面,视觉工作室集成也是一个奖励.我们需要确定缺陷的优先​​级,标记缺陷的版本,标记缺陷修复的版本,并希望能够围绕每个问题/缺陷进行讨论.我们还希望将项目分类为缺陷,增强请求等,并记录缺陷的变通方法.

非常相似的问题:

/sf/ask/7124211/

bug-tracking

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

替代h1元素?

我喜欢h1元素,因为它指定内容是标题样式内容,但你不应该把图像或div之类的东西放在h1中,那么是否可以替换h1我可以放入其他标记?

我当前的HTML看起来像这样:

<div class="section">
    <h1>
        <div style="float:left">header text</div>
        <div style="float:right">text</div>
        <div style="clear:both;float:none;"></div>
    </h1>
    <div>body contents</div>
</div>
Run Code Online (Sandbox Code Playgroud)

我喜欢h1,因为我可以使用div.section类为任何h1添加css样式,但是我不支持将div放入其中...

html css

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

如何在标记中设置DropDownList所选项?

我在GridView控件的模板列中有一个DropDownList.GridView绑定到对象列表.每个对象都有一个int类型的属性,它对应于一个DropDownLists ListItems中的值.我可以通过在下拉列表中添加DataBind事件来以编程方式设置所选项目,但我想知道是否有办法通过在aspx标记中使用代码块来设置所选项目.

asp.net data-binding listitem drop-down-menu

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

.net XML序列化:如何指定数组的根元素和子元素名称

考虑以下可序列化类:

class Item {...}
class Items : List<Item> {...}
class MyClass
{
   public string Name {get;set;}
   public Items MyItems {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我希望序列化输出看起来像:

<MyClass>
    <Name>string</Name>
    <ItemValues>
        <ItemValue></ItemValue>
        <ItemValue></ItemValue>
        <ItemValue></ItemValue>
    </ItemValues>
</MyClass>
Run Code Online (Sandbox Code Playgroud)

请注意,元素名称ItemValues和ItemValue与类名称Item和Items不匹配,假设我无法更改Item或Items类,是否有任何原因可以通过修改MyClass类来指定我想要的元素名称?

.net c# xml-serialization

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

如何优化视图状态的类

如果我有一个对象需要存储在viewstate中,我可以做些什么来优化存储对象所需的大小?显然,存储最少量的数据将占用更少的空间,但除此之外,是否有方法来构建类,属性,属性等,这将影响序列化输出的大小?

asp.net viewstate serialization binary-serialization

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

如何在另一个应用程序中挂钩api调用

我试图挂钩另一个应用程序的ExtTextOut和DrawTextExt GDI方法调用.

我知道我需要使用GetProcAddress在gdi32.dll中查找这些方法的地址,并在我想要挂钩我的函数地址的过程中覆盖地址.然后在我的函数中,我做我需要的,然后调用原始函数.

我想让这个钩子功能可用于.net应用程序,显然这可以通过创建一个"中间"非托管dll来执行挂钩,并且能够在.net端触发事件,以便新的功能可以写在托管环境中.我只是不确定如何实现这一点.有没有人有任何代码示例或信息链接?

c# hook winapi

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

正则表达式替换以更改句子中单词的顺序

如果我有这样的字符串:

"word1'word2'word3"

是否可以使用正则表达式替换将字符串更改为:

"word1 word3'word2'"

我知道word1和word3会是什么,但不知道word2会是什么,但它总是用单引号.

regex

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

标准窗口类名称列表

是否有使用的窗口类名称的已发布列表,例如“编辑”等?

windows

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