小编Bri*_*ian的帖子

使用证书签署ClickOnce?

获取签署ClickOnce程序集的证书的过程是什么?

我公司有一些ClickOnce应用程序,但它们都是用Visual Studio创建的临时证书签名的.这些显然不是受信任的根权威机构或受信任的出版商.我已经按照文章配置ClickOnce Trusted Publishers,我喜欢使用既是Trusted Root Authority又是Trusted Publisher(即没有提示,只是安装)的证书签名的经验.

  1. 我可以使用相同的证书签署多个ClickOnce程序集吗?
  2. 证书费用是多少?
  3. 获取证书时需要提供哪些信息?
  4. 证书是否需要知道发布位置在哪里?例如,如果我目前有可用的ClickOnce应用程序,http://apps.mycompany.com/并且我想稍后更改,例如http://www.mycompany.com/apps或者http://apps.mysubcompany.com,我是否必须获得另一个证书?
  5. 是否有推荐的发布者从ClickOnce签名中获取(例如,可能已经在Windows XP,Windows Vista或Windows 7受信任的根颁发机构商店中的人)?
  6. 如何简化到Trusted Publisher商店的安装?

clickonce code-signing

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

WCF数据合同和参考实体数据?

征求关于"最佳"模式的反馈/选项/评论,以用于我的服务中的参考数据.

参考数据是什么意思?

我们以Northwind为例.订单与数据库中的客户相关.当我实现我的订单服务时,在某些情况下,当我只想要一个对客户的引用(例如一个键/值对)时,我会希望引用来自订单的"完整"客户和其他情况.

例如,如果我正在使用GetAllOrders(),我不想返回完全填写的订单,我想要返回订单的轻量版本,其中只包含每个订单的客户的参考数据.但是,如果我使用GetOrder()方法,我可能想填写客户详细信息,因为很可能需要此方法的消费者.可能还有其他情况我可能要求在某些方法调用期间填写客户详细信息,但留给其他人使用.

这是我提出的:

[DataContract]
public OrderDTO
{
    [DataMember(Required)]
    public CustomerDTO;

    //etc..
}

[DataContract]
public CustomerDTO
{
    [DataMember(Required)]
    public ReferenceInfo ReferenceInfo;

    [DataMember(Optional)]
    public CustomerInfo CustomerInfo;
}

[DataContract]
public ReferenceInfo
{
    [DataMember(Required)]
    public string Key;

    [DataMember(Required)]
    public string Value;
}

[DataContract]
public CustomerInfo 
{
    [DataMember(Required)]
    public string CustomerID;

    [DataMember(Required)]
    public string Name;

    //etc....
}
Run Code Online (Sandbox Code Playgroud)

这里的想法是,因为在CustomerDTO中总是需要ReferenceInfo(它是一个通用的Key/Value对),所以我总是有ReferenceInfo.如果需要,它可以为我提供足够的信息以获取客户详细信息.让CustomerDTO需要ReferenceInfo的缺点是,当我获得完整的CustomerDTO(即填写了CustomerInfo)时,它可能有点过分,但至少我保证参考信息.

我可以使用其他一些模式或框架来使这个场景/实现"更清洁"吗?

我问的原因是,虽然我们可以简单地说在Northwind中总是返回一个完整的CustomerDTO,但这可能在简单的Northwind情况下工作正常.在我的例子中,我有一个对象,有25-50个字段是引用/查找类型数据.有些在不同的情况下加载比其他更重要,但我希望尽可能少地定义这些引用类型(这样我就不会进入"DTO维护地狱").

意见?反馈?评论?

谢谢!

wcf soa design-patterns datacontract

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

HTML5移动浏览器支持

尝试确定是否有任何Android浏览器(或其他移动平台浏览器)支持HTML5拖放.

浏览器中是否有HTML5功能支持的最新在线参考?具体移动浏览器?

mobile html5

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

Facebook分享/赞默认图片,标题,描述文字

我们在客户网站的各个页面上使用FB Like/Share功能.在我们想要共享的每个页面上,我们在元标记中添加以下内容:

<head id="ctl00_Head1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="X-UA-Compatible" content="IE=8" />

    <!-- social sharing metadata -->
    <meta property="og:title" content="Our Site Title" />
<meta property="og:description" content="A description to be used in the share dialog." />
<meta property="og:image" content="http://us.oursite.com/images/FB_ShareThumbnail_US.png" />

    <title>Our Page Title</title>

    <!-- favicon -->
    <!-- stylesheet and js links -->
    <!-- inline js -->
</head>
Run Code Online (Sandbox Code Playgroud)

此外,我们还显示带有以下HREF的Facebook图形:

<A href="http://www.facebook.com/sharer.php?u=http%3a%2f%2fus.oursite.com%2fOurPage.aspx%3fid%3d999&amp;t=Our+Site+Title" target=_blank><IMG src="/images/Facebook_icon_20x20.png"></A>
Run Code Online (Sandbox Code Playgroud)

客户端希望使用标准的图像,标题,描述,而不管实际的页面\文章共享("品牌控制"的类型).我们目前使用我们的og:meta标签设置来为每个页面/文章呈现相同的数据.

当用户点击"共享"功能时,他们没有获得页面/文章图片,也没有任何好的描述或标题(因为我认为标签应该提供).

匿名用户可以访问当前共享的页面,因此FB bot可以访问这些页面.og元标记中指定的图像也可供匿名用户使用.第一个问题是为什么这种共享方法似乎没有使用正确的默认共享?

接下来的问题是,下一个功能请求是使经过身份验证的页面能够与相同的默认图像,标题,描述共享.我从服务器的角度来看这个,我在那里寻找FB机器人并将机器人重定向到一个"静态"页面,其中只包含提取图像,标题,描述所需的最小标记.我已经证明了这一点并且效果很好.我觉得它可能有点复杂.想知道是否有"更好"或更"最佳"的方式来共享经过身份验证的页面并让共享功能了解我们的标准图像,标题,描述?

提前致谢!

更新:我在StackOverflow 发现了这个相关的Q/A:Facebook Share没有显示我的描述或我的缩略图

当我问"想知道是否有"更好"或更"最佳"的方式来共享经过身份验证的页面并让共享功能知道我们的标准图像,标题,描述?",这就是我的类型谈论.如果我可以通过查询字符串参数传递Facebook sharer.php所需的所有数据(这导致不需要/采取Facebook刮刀操作),这是理想的,那么我不需要编写任何服务器端逻辑来重新路由Facebook刮刀.我尝试使用上面提到的Q/A中提供的Url,重新格式化我的数据,但没有运气.想知道这是否记录在FB的某个地方?

facebook web

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

Cookie域优先?

我有几个网站.每个站点都是本地化版本,提供特定于一组给定语言环境的内容.还有一个全球或"全球"网站.我把它们设置如下:

我正在尝试使用cookie跟踪每个应用程序的活动.每个站点的cookie名称是相同的,并使用域的默认设置(即在.net中我没有指定httpCookie.Domain的值 - 我保留默认值).

当我访问"特定于语言环境"的站点时,一切正常,但是一旦我访问"全局"站点,当我回去访问我的"特定于语言环境"的站点时,似乎使用了来自此站点的cookie,而不是为"特定于语言环境"的站点发布的cookie.

关于如何让我的"全局"cookie优先于"特定于语言环境"的网站上的"本地特定"cookie的任何想法?

asp.net cookies

6
推荐指数
1
解决办法
1777
查看次数

Visual Studio 2008数据库项目在架构比较期间生成ALTER DATABASE

我有一个新的Visual Studio 2008数据库项目(Data Dude).它是通过指向我们现有的数据库生成的.我现在做了一些更改(新列,表,索引等),我正在尝试生成用于部署的部署(差异)脚本.我有一个Schema Comparison设置来进行比较并生成diff脚本文件.我想我已经调整了大部分比较设置和对象忽略了我需要的东西,但是,在顶部我得到了一些我不想生成的ALTER DATABASE命令.它们看起来像这样:

IF EXISTS (SELECT 1
           FROM   [master].[dbo].[sysdatabases]
           WHERE  [name] = N'$(DatabaseName)')
    BEGIN
        ALTER DATABASE [$(DatabaseName)]
            SET ANSI_NULLS ON,
                ANSI_PADDING ON,
                ANSI_WARNINGS ON,
                ARITHABORT ON,
                CONCAT_NULL_YIELDS_NULL ON,
                QUOTED_IDENTIFIER ON,
                ANSI_NULL_DEFAULT ON,
                CURSOR_DEFAULT LOCAL 
            WITH ROLLBACK IMMEDIATE;
    END


GO
IF EXISTS (SELECT 1
           FROM   [master].[dbo].[sysdatabases]
           WHERE  [name] = N'$(DatabaseName)')
    BEGIN
        ALTER DATABASE [$(DatabaseName)]
            SET PAGE_VERIFY NONE 
            WITH ROLLBACK IMMEDIATE;
    END


GO
Run Code Online (Sandbox Code Playgroud)

我更愿意调整设置,以便我不必与我的15+成员团队沟通,他们需要在每次想要下载并将最新部署到他们的环境时从差异文件中删除这些行.

什么设置控制这个?

sql-server visual-studio-2008 visual-studio-2008-db

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

我的代码是否正确清理了其 List&lt;MemoryStream&gt;?

我有一个可以处理 PDF 文件的第三方组件。每当我需要执行操作时,我都会从文档存储(数据库、SharePoint、文件系统等)检索 PDF 文档。为了使事情保持一致,我将 PDF 文档作为byte[].

这个第三方组件需要一个MemoryStream[]MemoryStream数组)作为我需要使用的主要方法之一的参数。

我正在尝试将此功能包装在我自己的组件中,以便我可以在应用程序中的多个区域中使用此功能。我基本上想出了以下内容:

public class PdfDocumentManipulator : IDisposable
{
   List<MemoryStream> pdfDocumentStreams = new List<MemoryStream>();

   public void AddFileToManipulate(byte[] pdfDocument)
   {
      using (MemoryStream stream = new MemoryStream(pdfDocument))
      {
         pdfDocumentStreams.Add(stream);
      }
   }

   public byte[] ManipulatePdfDocuments()
   {
      byte[] outputBytes = null;

      using (MemoryStream outputStream = new MemoryStream())
      {
           ThirdPartyComponent component = new ThirdPartyComponent();
           component.Manipuate(this.pdfDocumentStreams.ToArray(), outputStream);

           //move to begining
           outputStream.Seek(0, SeekOrigin.Begin);

           //convert the memory stream to a byte array
           outputBytes = outputStream.ToArray();
      } …
Run Code Online (Sandbox Code Playgroud)

c# dispose idisposable memorystream

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