小编kin*_*ngo的帖子

为什么自引用iframe不能无限循环并使我的机器崩溃?

我创建了一个简单的HTML页面,iframesrc属性引用了包含页面 - 换句话说,是一个自引用iframe.

this.html

<html>
<head></head>
<body>
<iframe src="this.html"></iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

为什么这不会无限循环并崩溃我的浏览器?另外,为什么连IE都不会崩溃?

(注意:这是由团队讨论使用iframe解决问题的优点和缺点产生的.你知道,'镜像镜像'排序.)

html iframe firefox internet-explorer google-chrome

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

我可以在EF实体中嵌入一个对象(在保存时序列化,在访问时反序列化)?

我有一个类,我想保留元数据 - 有几个交互场景,所以meta允许我为不同的交互类型保留不同的元.

class Feed()
{
    Guid FeedId { get; set; }
    ObjectMetaDictionary Meta { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望EF能够序列化这个ObjectMetaDictionary并将其作为字符串/ VarChar存储在数据库中.当我检索一条记录时,我希望它被反序列化为ObjectMetaDictionary.

EF支持吗?我该怎么做?

我正在使用Entity Framework Code First.

解决:我在下面提供了一个解决我的问题的答案.一旦SO允许我,我会接受这个答案.

entity-framework ef-code-first

20
推荐指数
1
解决办法
6853
查看次数

你如何选择TOP x,但仍然得到整个查询的COUNT?

我正在编写一个网页,以根据用户指定的过滤条件交互式过滤结果.我只想从SQL返回前20行,但我想知道有多少行符合标准(Count).我希望能够告诉用户:"这里有符合条件的前20行,顺便说一句,我还没有在这里展示2000行".

我知道我可以简单地运行两次查询,但是EWWWW是昂贵且浪费的.如何在不对数据库征税的情况下实现我想要的目标?

sql sql-server

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

在MVC Web App中跨存储库共享DbContext

在MVC Web应用程序中跨多个存储库共享EF DbContext的正确方法是什么?这样做是否谨慎/必要,做或不做的陷阱是什么?

背景

假设:

  • App.MvcSite(几十个控制器,多个区域等)
  • App.Services(服务层,许多服务)
  • App.Data(许多存储库等)
  • ......等为简单而排除(EF Code First latest)

研究迄今

我似乎在SO和互联网上找到了至少两三个思想流派.

  1. 将DbContext共享/范围扩展到请求,以便单个请求具有所有存储库共享的单个DbContext.
  2. 在服务层共享/范围您的DbContext - 该服务维护单个DbContext并根据需要将其传递给每个存储库.
  3. 不要共享DbContext,因为它们很便宜,让每个Repo都有自己的.

在一个小型网站中,这是一个非问题,这就是为什么大多数MS和社区的例子根本不解决这个问题.

根据我迄今为止的经验,我没有使用有限的存储库.我一直有服务使用DbContext并直接更改它所以我不需要担心这一点.我被告知,从单元测试的角度来看,有限的存储库有很大的好处......我们将看看它是否值得其余部分.

我的想法

(1)将DbContext共享/范围分配给请求

这很有意思,因为它巧妙地避免了单例上下文的陷阱,一些开发人员认为这是一个答案,但发现DbContext不能以这种方式工作.但它似乎有一个缺点,它假设所有存储库,服务等将在整个请求中协调......通常情况并非如此,对吧?如果一个仓库在另一个仓库完成其工作之前保存了更改,该怎么办 (外(内(内)))

(2)在服务层共享/调整您的DbContext

这对我来说更有意义,因为每个服务应该协调一个特定的工作单元(小写有意).因此,如果在一个请求中使用了多个服务,那么每个服务都有自己的数据库上下文是正确的(如果不是必需的话).

(3)不要共享DbContext,因为它们很便宜

这是我一直这样做的方式......实际上我几乎总是每个请求只有一个DbContext,因为只有一个服务被调用.有时它可能是两个,因为两个服务是由协调工作的控制器调用的.但鉴于我目前的应用程序,有许多有限的存储库,每个存储库都有自己的上下文,这意味着给定的请求可能有3-10个DbContext实例.我认为(可能不正确)这是有问题的.


重复问题:

在MVC Web应用程序中跨多个存储库共享EF DbContext的正确方法是什么?这样做是否谨慎/必要,做或不做的陷阱是什么?

asp.net-mvc repository-pattern service-layer ef-code-first dbcontext

18
推荐指数
1
解决办法
4116
查看次数

额外文件夹附加到AWS上的Web根目录

我突然遇到了一个问题.我最近在AWS弹性beasnstalk实例上重新部署了我的.net应用程序,现在我的Web根目录附加了一个额外的段.

现在我的URL结构如下所示:

http://domain.com/Project Name.Web_deploy/default.aspx

我没有对我的项目或AWS配置进行任何更改.可能是什么导致了这个?

当我登录到RDP实例时,我在IIS根目录上找到了一个web.config,其中包含一些我发现project_name.Web_deply的规则.

我没有使用任何FTP或AWS控制台来更新我最近的代码,而是使用AWS explorer for Visual Studio 2010,内部使用git.

我在服务器上使用Windows Server 2012和sql server 2008.

asp.net amazon-web-services visual-studio-2012 iis-8 amazon-elastic-beanstalk

13
推荐指数
1
解决办法
2077
查看次数

根据请求更改OWIN Auth Middleware(多租户,每个租户的oauth API密钥)

我有一个多租户应用程序.每个租户都可以使用OAUTH-2与Facebook,Twitter,Google等对其用户进行身份验证.每个租户都有自己的API密钥用于上述服务.

设置OWIN管道的典型方法是在"启动"中"使用"auth提供程序,但这会在应用程序启动时设置API密钥.我需要能够为每个请求更改每个oauth API使用的密钥.

        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
            Provider = cookieAuthProvider,
            CookieName = "VarsityAuth",
        });

        app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

        app.UseMicrosoftAccountAuthentication(
            clientId: "lkjhlkjkl",
            clientSecret: "kjhjkk");
Run Code Online (Sandbox Code Playgroud)

我需要能够根据租户更改每个请求的这些设置.我怎样才能做到这一点?

oauth-2.0 owin asp.net-mvc-5 owin-middleware

10
推荐指数
1
解决办法
2017
查看次数

实体框架不查询派生类 - DbOfTypeExpression中的错误

我有一个基类和两个派生类.

每个派生类都实现与属性相同的类型 - 唯一的区别是属性名称.

可悲的是,我对类设计影响不大 - >它们是从wsdl文件生成的.

然后我在BaseType上有一个属性来封装公共属性.计划是在我的网页浏览等中使用此属性.

我用着名的"Fruit-Example"来证明这个问题:

 public class FruitBase
    {
        public virtual int ID { get; set; }


        //
        // The plan is to use this property in mvc view
        //
        [NotMapped]
        public virtual FruitnessFactor Fruitness
        {
            get
            {
                if (this.GetType().BaseType == typeof(Apple))
                    return ((Apple)this).AppleFruitness;
                else if (this.GetType().BaseType == typeof(Orange))
                    return ((Orange)this).OrangeFruitness;
                else
                    return null;
            }
        }
    }

public class FruitnessFactor { }
Run Code Online (Sandbox Code Playgroud)

在我的MVC控制器中,以下查询工作正常:

return View(context.FruitEntities
                           .OfType<Apple>().Include(a =>a.AppleFruitness)
                           .ToList());
Run Code Online (Sandbox Code Playgroud)

但是这个没有:

  return View(context.FruitEntities
                                   .OfType<Apple>().Include(a =>a.AppleFruitness)
                                   .OfType<Orange>().Include(o => o.OrangeFruitness) …
Run Code Online (Sandbox Code Playgroud)

polymorphism linq-to-entities entity-framework ef-code-first entity-framework-5

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

作为主键的十进制在Dev(Win7/64bit)中工作但在生产中不起作用(Win2008R2/64bit)公共语言运行时检测到无效程序

我的Windows服务是一个.NET应用程序.该服务依赖于我使用EF 4.3 Code First的数据访问.我的服务运行并尝试访问数据时收到以下错误.

FullPurgeAndReplace()中发生错误:System.InvalidProgramException:公共语言运行时检测到无效程序.在System.Data.Entity.DynamicProxies.MOMInventoryItem_3ED5D5176D2C03867C62DD8E4381A882350CFD9CD931F3CD551623A6EF5C4D8E.set_Id(十进制)在lambda_method(封闭,牛头刨床)在System.Data.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly [TEntity](Func键1.ReadNextElement(整形器整形器)在系统.Data.Common.Internal.Materialization.Shaper 1..ctor(IEnumerable 1 source)...更多删除2 constructEntityDelegate, EntityKey entityKey, EntitySet entitySet)
at lambda_method(Closure , Shaper ) at System.Data.Common.Internal.Materialization.Coordinator
1.SimpleEnumerator.MoveNext() at System.Collections.Generic.List1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable

在相同的机器上我有一个依赖于相同数据访问项目的Web应用程序,并且运行没有问题.对于IIS中的该网站,我确实为相应的应用程序池检查了启用32位应用程序.

我研究了这个问题,发现它可能与错误中的实体(MOMInventoryItem)有一个十进制主键有关.我没有选择,因为我正在与现有系统集成.然而,据推测,这是一年多以前EF 4.0的一个已知问题,我希望它现在可以解决.

以下是我的实体的一些代码:

[Table("STOCK")]
public class MOMInventoryItem
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.None), Column("STOCK_ID")]
    public virtual decimal Id { get; set; }
Run Code Online (Sandbox Code Playgroud)

同样,这可以通过IIS中托管的MVC应用程序正常工作,但在同一台Windows 2008 R2服务器上作为Windows服务失败.它也适用于我的DEV机器(Win7/VS11). 我的问题是什么,我可以永久地解决它还是解决它?

一如往常,在可能的情况下,非常感谢和回报.

.net windows-services ef-code-first entity-framework-4.3

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

我的CSS图像无法在Windows Azure上运行

我有一个非常奇怪的情况,在将站点部署到Windows Azure后,不会显示CSS图像.

  1. 图像是项目的一部分(所有文件和子文件夹都包含在项目中)

  2. 所有图像都具有内容的构建操作

  3. 我没有使用相对路径,总是在我的views/content/path/to/images上使用绝对路径,但在CSS上有相对路径url(../ img/image.png),但这应该不是问题.

  4. 静态文件没问题(CSS和Javascript正常工作),除了没有显示的图像.

我使用git部署,但即使使用发布向导,我也得到相同的结果.

如果我以完整路径请求它们,那么图像就在那里.这是"不真实的";)

我必须忽略一个关键的东西,但找不到它.谢谢你的时间.

编辑:

图像通过img标签工作.因此,只有CSS图像,没有意义,它们在本地正常工作.

我想我可以分享这个链接,所以你可以看到这个东西直播;)

http://receivably.azurewebsites.net

看看左上角的标识,什么都没有出现,这里是HTML和CSS(这在几个方面表现得很好,并在本地工作正常.

<a class="brand" href="/">name</a>
Run Code Online (Sandbox Code Playgroud)

在CSS中:

.navbar .brand {
    display: block;
    width: 180px;
    height: 34px;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 2px;
    margin-left: 10px;
    overflow: hidden;
    font-size: 18px;
    line-height: 600px;
    color: #333;
    background: url(../img/logo.png) no-repeat 0 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我们直接请求文件,那就在那里:http://receivably.azurewebsites.net/content/site/img/logo.png

CSS文件放在/ content/site/css中,图像放在/ content/site/img上.

我可以补充一点,我现在无法git push.只有发布向导才有效.我在Azure上的网站上遇到了很多问题,我的另外3个应用程序完美无缺.

azure visual-studio visual-studio-lightswitch azure-web-sites

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

使用React-Native运行自定义Babel变换

我需要使用babel-plugin-transform-decorators-legacyReact-Native来启用@decorators.如何配置React-Native/Babel使其成为可能?

这与我之前关于如何让@decorators在React-Native中工作的问题有关:https://stackoverflow.com/a/34271636/941058

javascript babeljs react-native

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