小编LCJ*_*LCJ的帖子

使用RsaProtectedConfigurationProvider进行Web.Config加密 - "错误数据"错误

我正在尝试按照MSDN上描述过程加密ASP.NET 2.0 Web应用程序的Web.Config文件中的连接字符串值.使用RsaProtectedConfigurationProvider,我在我的开发机器上创建并导出了一个机器级密钥(使用-pri标志),并在Web服务器上导入密钥和授予访问权限.在通过ASP.NET测试自动解密之前,我想尝试手动解密Web.Config.

我可以分别使用-pef和-pdf参数在同一台机器上手动加密和解密Web.Config,但在Web服务器上手动解密失败并显示Bad Data错误消息.

最奇怪的是我的Web.Config文件中的keyContainerName属性似乎被忽略了.如果我尝试用乱码替换正确的值(不再对应于我创建的任何密钥容器),加密和解密仍然可以在我的开发机器上运行.有任何想法吗?

asp.net encryption rsa

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

为所需的星号添加跨度时,引导输入组 - 插件对齐问题

我有以下Bootstrap datepicker.当我添加span(spanAstreisk)以显示指示必填字段的星号时,图标的高度会增加,看起来它与文本框不对齐.我怎样才能解决这个问题?

小提琴2:https://jsfiddle.net/ezvzvvqg/15/

小提琴1:https://jsfiddle.net/ezvzvvqg/10/

在此输入图像描述 在此输入图像描述

HTML

<table class="table table-user-information" style="font-size:12px;">
    <tbody>
        <tr>
            <td class="tdPopupTextDescription">Effective Date:</td>
            <td id="tdEffectiveDate">          
                <div id="divDatePickerEffectiveDate" class="input-group date" data-provide="datepicker" data-date-show-on-focus="true">
                    <input type="text" class="form-control required error" id="txtEffectiveDate" maxlength="10" style="display:inline;">
                    <label for="txtEffectiveDate" generated="true" class="error">This field is required.</label>
                    <div class="input-group-addon">
                        <span class="glyphicon glyphicon-th"></span>
                    </div>
                    <span class="glyphicon glyphicon-asterisk requiredAsterisk"></span>
                </div>
            </td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

html css twitter-bootstrap twitter-bootstrap-3

15
推荐指数
1
解决办法
2150
查看次数

使用$ .extend进行jQuery深度/递归复制

我试图使用jQuery $ .extend合并两个对象.

使用以下代码,我试图提醒("Ball - Stump - Umpire").但目前的输出是("Undefined - Stump - Umpire").它没有实现深度(递归)副本.我们如何纠正这个?

 $(document).ready(function () {

        debugger;

        //$.extend
        var obj3 = { throwable: { text1: 'Ball' }, text3: 'Umpire' };
        var obj4 = { throwable: { text4: 'Bat' }, text2: 'Stump' }

        //Simple Copy
        var result1 = $.extend(obj3, obj4);
        //alert(result1.throwable.text4 + " - " + result1.text2 + " - " + result1.text3);


        //Deep Copy
        //First parameter is passed as Boolean true to accomplish deep (recursive) copy
        var result2 = $.extend(true, obj3, …
Run Code Online (Sandbox Code Playgroud)

jquery

12
推荐指数
1
解决办法
6949
查看次数

一个事务中的多个聚合/存储库

我有一个支付系统,如下所示.付款可以通过多个礼券进行.礼品券与购买一起发行.客户可以使用此礼品券以备将来购买.

当通过礼品券进行付款时,GiftCoupon表中的UsedForPaymentID列需要使用该PaymentID(对于礼品券ID)进行更新.

GiftCouponID已在数据库中提供.当客户生产礼品券时,它上面印有GiftCouponID.运营商需要将此CouponID输入系统以进行付款.

对于MakePayment()操作,它需要两个存储库.

  1. 礼品券库
  2. 付款存储库

//使用GiftCouponRepository检索相应的GiftCoupon对象.

这涉及为一个事务使用两个存储库.这是一个好习惯吗?如果没有,我们如何改变设计来克服这个问题呢?

参考:在DDD中,Aggregate应代表事务边界.需要涉及多个聚合的交易通常表明应该改进模型,或者应该审查交易要求,或者两者兼而有之.CQRS对我的域名是否正确?

在此输入图像描述

C#代码

public RepositoryLayer.ILijosPaymentRepository repository { get; set; }

public void MakePayment(int giftCouponID)
{
    DBML_Project.Payment paymentEntity = new DBML_Project.Payment();
    paymentEntity.PaymentID = 1;

    DBML_Project.GiftCoupon giftCouponObj;

    //Use GiftCouponRepository to retrieve the corresponding GiftCoupon object.     

    paymentEntity.GiftCouponPayments = new System.Data.Linq.EntitySet<DBML_Project.GiftCoupon>();
    paymentEntity.GiftCouponPayments.Add(giftCouponObj);

    repository.InsertEntity(paymentEntity);
    repository.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)

c# oop design-patterns domain-driven-design cqrs

12
推荐指数
1
解决办法
6512
查看次数

如何检查是否由动态链接按钮引起回发

我有一个按钮控件.单击此按钮,我需要动态添加链接按钮.链接按钮需要一个事件处理程序.因此,动态链接按钮首先添加到Page_Load中,然后在按钮单击处理程序中清除并再次添加.请阅读Dynamic Control的事件处理程序的工作,以了解此操作的业务需求.

我已经读过On postback,如何检查哪个控件导致Page_Init事件中的回发 以识别导致回发的控件(在Page_Load内).但它不符合我的情况.

需要做些什么更改才能确认回发是否是由链接按钮(在Page_Load内)引起的?

注意:请参阅以下内容以了解其中不可避免的情况https://codereview.stackexchange.com/questions/20510/custom-paging-in-asp-net-web-application

注1:我需要获取回发控制ID作为内部的第一步if (Page.IsPostBack).我需要添加动态链接按钮控件,只有它是从按钮或链接按钮的回发.将有其他控件导致回发.对于此类回发,我们不应该执行此代码.

注2:我Request["__EVENTARGUMENT"]在Page_Load中得到空字符串

相关问题:通过什么event,页面中将提供动态控件(用于在FindControl中使用).@Tung说 - "你的GetPostBackControlId方法正确获取导致回发的控件的名称,但它无法通过page.FindControl找到具有该id的控件,因为尚未创建链接按钮,因此页面不会知道它的存在."

ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PostbackTest.aspx.cs" Inherits="PostbackTest"
MasterPageFile="~/TestMasterPage.master" %>

<asp:Content ID="myContent" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div id="holder" runat="server">
</div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="TestClick" />
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

代码背后

public partial class PostbackTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

    if(Page.IsPostBack)
    {
        string IDValue = GetPostBackControlId(this.Page);
        int x = 0;

        holder.Controls.Clear();
        LinkButton lnkDynamic = …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net

12
推荐指数
1
解决办法
8456
查看次数

SQLTransaction已完成错误

我在申请中遇到了一次错误.

这个SQLTransaction已经完成; 它不再可用

堆栈跟踪附在下面 - 它说Zombie CheckRollback.

代码中的错误是什么?

注意:此错误只出现一次.

UPDATE

MSDN - SqlTransaction.Rollback方法

如果连接终止或者事务已在服务器上回滚,则Rollback会生成InvalidOperationException.

僵尸检查交易 - 错误

我在各种应用程序中看到此错误的最常见原因之一是,在我们的应用程序中共享 SqlConnection.

public int SaveUserLogOnInfo(int empID)
{
        int? sessionID = null;
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            SqlTransaction transaction = null;
            try
            {
                transaction = connection.BeginTransaction();
                sessionID = GetSessionIDForAssociate(connection, empID, transaction);

                    //Other Code

                //Commit
                transaction.Commit();
            }
            catch
            {
                //Rollback
                if (transaction != null)
                {
                    transaction.Rollback();
                    transaction.Dispose();
                    transaction = null;
                }

                //Throw exception
                throw; …
Run Code Online (Sandbox Code Playgroud)

.net c# ado.net transactionscope

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

SqlCommand的输入输出参数

我有SqlCommand的以下参数.如何进入和退出存储过程的参数值.

 SqlCommand mySqlCommand = new SqlCommand("aspInsertZipCode", mySqlConnection);
 mySqlCommand.CommandType = CommandType.StoredProcedure;
 mySqlCommand.Parameters.Add("@DataRows", dataStringToProcess.ToString());
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server asp.net ado.net

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

WCF服务的basicHttpBinding上的HTTPS

我正在使用IIS 7.在端口号为443的情况下启用HTTPS绑定.我有一个WCF服务作为网站下的应用程序.我正在尝试基于http://msdn.microsoft.com/en-us/library/ms729700.aspx将HTTPS安全性引入服务(使用basicHttpBinding)

我收到以下错误 - "提供的URI方案'https'无效; 预期'http'." 当我检查事件日志时,它具有如下堆栈跟踪:

Stack Trace :    at System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)

at System.ServiceModel.Channels.HttpChannelFactory.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
Run Code Online (Sandbox Code Playgroud)

使用basicHttpBinding使HTTPS工作所需的更改是什么?

注意:证书是使用IIS 7中的"创建自签名证书"创建的.

 <system.serviceModel>

  <behaviors>
<serviceBehaviors>
  <behavior name="serviceFaultBehavior">
    <serviceMetadata httpGetEnabled="true" />
    <serviceDebug includeExceptionDetailInFaults="true"/>
  </behavior>
</serviceBehaviors>
  </behaviors>

  <services>
<service name="Business.TV.Clearance.Services.ServiceHandler"
         behaviorConfiguration="serviceFaultBehavior">
  <endpoint address=""
            binding="basicHttpBinding"
            contract="Business.TV.Clearance.Services.IServiceHandler"
            bindingConfiguration="httpBinding">
    <identity>
      <dns value="localhost" />
    </identity>
  </endpoint>
</service>
Run Code Online (Sandbox Code Playgroud)

  <bindings>
<basicHttpBinding>

  <binding name="httpBinding"
           maxReceivedMessageSize="2000000"
           maxBufferSize="2000000">

    <security mode="Transport">
      <transport clientCredentialType="Windows" />
    </security>


    <readerQuotas maxDepth="2147483647"
                  maxStringContentLength="2147483647"
                  maxArrayLength="2147483647" />
  </binding>
</basicHttpBinding>
  </bindings>

   <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

   <extensions>
 <behaviorExtensions>
  <add name="serviceFaultBehavior"
type="Business.TV.Clearance.Services.ServiceFaultBehaviorExtensionElement,Business.TV.Clearance.Services, …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net iis wcf

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

用于下拉破坏div边界的CSS解决方案

我有一个带有很长值的下拉列表作为选项.当我选择一个长值时,它超出了包含div的边界.此外,所选项目上方的项目将排到最前面而不是"下拉".这是第一个选择"ALL"向上而不是向下.

我搜索并找到了一些Javascript方法来解决这个问题.解决这个问题的css方法是什么?

注意:在IE11和Chrome中观察到问题.在IE6中,它工作得很好.

问题

在此输入图像描述

<div style="width:500px; background-color:gray">

  <table class="table-tab-body" cellspacing="0" cellpadding="0" width="100%" style="border-bottom: 2px solid #5F005F;">
    <tbody>
      <tr>
        <td colspan="2">
          <b style="margin: 0 0 0 10px;">
            Select Provider
          </b>
        </td>
        <td colspan="2">
          <b>
            Select Locations
          </b>
        </td>
      </tr>
      <tr>
        <td colspan="2" style="overflow:hidden; border: 3px solid purple; ">
          <div style="margin: 0 0 0 10px; padding: 0 0 0 0px; overflow:hidden; width:245px; ">
            <select name="drpVendor" id="drpVendor" fieldname="Vendor" style="width: 250px; padding: 0 0 0 0px; overflow:hidden;">
              <option selected="selected" value="">ALL</option>
              <option value="11824">A SCD GARMENT …
Run Code Online (Sandbox Code Playgroud)

html css

11
推荐指数
2
解决办法
1079
查看次数

"如果"条件好于?? 和铸造

我有两种相同功能的方法 - 一种是"if"条件,另一种是"??" 和铸造".哪种方法更好?为什么?

码:

  Int16? reportID2 = null;
  //Other code

  //Approach 1
  if (reportID2 == null)
  {
       command.Parameters.AddWithValue("@report_type_code", DBNull.Value);
  }
  else
  {
     command.Parameters.AddWithValue("@report_type_code", reportID2);
  }

  //Approach 2
  command.Parameters.AddWithValue("@report_type_code", ((object) reportID2) ?? DBNull.Value);
Run Code Online (Sandbox Code Playgroud)

UPDATE

根据答案,以下是的好处 ??

  1. 提高可读性
  2. 降低程序流程的分支开度(降低了圈复杂度)

注意:作为对象的铸造成本可以忽略不计.

参考

  1. Null-Coallescing运算符 - 为什么选择铸造?

c# performance casting null-coalescing-operator

10
推荐指数
2
解决办法
454
查看次数