小编Dr *_*ang的帖子

值不能为空。参数名称:读取嵌入文件内容时出现流错误

我正在用 c# 做一个应用程序。

我收到错误:

值不能为空。参数名称:读取嵌入文件的 contentxs 时的流

在代码中

Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "." + Name);
Run Code Online (Sandbox Code Playgroud)

如何解决这个错误?

c#

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

Puppet是从TFS拉取部署.NET站点并且站点关闭的正确工具

我们有一个新的应用程序需要自动部署到许多服务器.我需要知道Puppet是否可以用于以下场景.

应用程序

该应用程序是.NET和PHP与SQL Server或PostGRE数据库的组合.首次启动应用程序时,使用Entity Framework在C#中处理数据库迁移.该应用程序尚未完成,但我正在进行可行性研究以自动部署.

构建和持续集成

我们在云中使用Team Foundation Service(TFS)进行构建.

目标环境

该应用程序将安装在云端和客户端的基础架构中.云平台将由我们控制,所以我想这并不困难.我可以看到Puppet用于配置该环境的好处.

但是,当客户端的基础架构托管服务器时,我可能无法控制对服务器的访问.我必须假设服务器只能访问端口443(和80,但我不会以这种方式更新软件).我想我们将拥有管理员访问我们需要安装的任何服务器,我更关心的是通过企业防火墙访问服务器.

这些环境将是用于.NET Web和数据库服务器的Server 2008(IIS7),也可能是运行Apache for PHP的Linux服务器.由于应用程序尚未完成,我无法确定PHP限制是什么.我假设我将不得不部署到两种不同类型的服务器.

部署环境

将部署一个服务器来编排部署.可以在这里安装Puppet /任何其他技术.

期望的过程

请原谅我在这里大量使用Puppet.我不确定其开箱即用的局限性,我很欣赏有一个Forge,其中有很多插件可供使用.这种自动化水平对我来说是新的,所以我很乐意对我的步骤采取反馈!

  1. TFS构建完成,运行单元测试并将构建标记为OK.
  2. Puppet发现有一个新的构建并抓住包
  3. Puppet配置立即将新包部署到集成测试服务器(云)
  4. Puppet在集成测试服务器上启动MSBuild
  5. 完成后,Puppet会更新TFS构建的状态
  6. 客户端服务器上的Puppet Agent然后下载新包(拉过SSL)
  7. Puppet等待分配的时间来安装系统(假设此时没有系统管理员醒来!)
  8. Puppet在数据库中设置一个标志,所有Web客户端都轮询该标志以检查"关闭消息"
  9. Puppet等待分配的时间(用户保存他们的工作)
  10. Puppet将IIS/Apache站点重新发布到维护页面
  11. Puppet启动代码和数据库的备份
  12. Puppet在Linux和Windows服务器上执行包安装,配置更新.
  13. Puppet触发冒烟测试(.NET控制台应用程序)并等待完成
  14. 如果成功,Puppet将重新发布IIS/Apache
  15. 如果不成功,Puppet会回滚Windows和Linux服务器.
  16. Puppet在数据库中设置标志,表示系统再次运行
  17. Puppet向服务器报告.

假设

  • 没有负载平衡,因此只有一个.NET服务器和一个Linux服务器.这可能是将来需要的,但可能是YAGNI.

.net tfs puppet

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

SessionHandler :: write():父会话处理程序未打开

我在Symfony 2.3中使用FOSFacebookBundle,正如它在与FOSUserBundle文档的集成中所说的那样.编辑security.yml,运行代码,但我收到错误:

Warning: SessionHandler::write(): Parent session handler is not open in /var/www/my/app/cache/dev/classes.php line 407
Run Code Online (Sandbox Code Playgroud)

所以我给了权限:

sudo chmod 777 -R app/cache
sudo chmod 777 -R app/logs
Run Code Online (Sandbox Code Playgroud)

当我再次登录,然后注销页面时,我得到了同样的错误.

我看到这个https://github.com/symfony/symfony/issues/5868并更新了php.

但是这个问题没解决我不知道为什么?有谁知道请告诉我?

security.yml

security:
encoders:
    FOS\UserBundle\Model\UserInterface: sha512

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN

providers:
    chain_provider:
      chain:
        providers: [fos_userbundle, my_fos_facebook_provider]
    fos_userbundle:
        id: fos_user.user_provider.username
    my_fos_facebook_provider:
        id: my.facebook.user    

firewalls:
    main:
        pattern: ^/
        fos_facebook:
            app_url: "http://apps.facebook.com/xxxx/"
            server_url: "http://symfony/app_dev.php/login"
            login_path: /login
            check_path: /loginFb
            default_target_path: /
            provider: my_fos_facebook_provider
        form_login:
            login_path: /login
            check_path: /login_check     
            provider: fos_userbundle …
Run Code Online (Sandbox Code Playgroud)

php session symfony fosuserbundle fosfacebookbundle

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

使用C#和asp.net核心进行Facebook集成

我正在开始一个将与Facebook大量整合的副项目.我将在前端使用React,它将与使用asp.net core web api制作的REST进行对话.

我的想法是,在这个API中,我将调用Facebook.基本上,我想:登录,从Messenger发送/发布消息,从业务页面获取/发布评论和消息.

我google了一点,并没有找到很多资源或如何进行除Facebook文档以外的集成的示例,这有很多东西,我不知道在哪里看.

我也发现了这个适用于.NET的SDK,但它看起来有点过时https://github.com/facebook-csharp-sdk/facebook-csharp-sdk

所以,我的问题是:阅读文档是否真的是最好的解决方案?

如果有人至少可以给我一个提示去哪里,我会非常感激.与c#/ asp.net之外的其他堆栈集成Facebook会更好/更容易吗?

此外,如果有任何其他API,SDK或已经在.NET中构建的东西可以帮助我,我将不胜感激.

提前致谢.

c# asp.net facebook facebook-graph-api

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

Entitiy Framework Core preview 2 - default value for boolean

We were using .Net Core 1 and we migrated to Preview 2 (both with Entity). Before migration, we used to set a default value for a boolean in Entity Framework like this:

modelBuilder.Entity<Customer>()
  .ToTable("Customer")
  .Property(a => a.Active)
  .HasDefaultValue(true);
Run Code Online (Sandbox Code Playgroud)

After migration, we didn't change anything but now we are getting an error when entity tries to create this table. It looks like it is trying to create a default value as string like "True" and not as a bit, like before. …

.net c# entity-framework-6 asp.net-core

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

无法保存Entity Framework Inherited类型

我在我的数据模型中实现了一些每个类型的表继承(基本上有一个BaseEntity类型,包含我的项目的所有基本信息和EmployerBaseEntity项目继承的类型).一切似乎都是正确设置的,当使用实体时(通过ADO.net数据服务或通过Linq到实体)我可以看到Employer类型和事情看起来没问题.当我创建一个新Employer实体并尝试保存它时,问题就开始了.

在看起来不是.AddToEmployer项目的上下文中(仅和/ AddObjectAddToBaseEntity).

如果我使用AddObject("Employer", NewEmployer)我得到和错误消息:

找不到EntitySet名称'DataEntities.Employer'.

如果我使用,AddToBaseEntity(NewEmployer)我会收到以下错误消息:

无法确定相关操作的有效排序.由于外键约束,模型要求orstore生成的值可能存在依赖关系.

我是否错过了设置继承的步骤?是否有一些特定的方法来保存继承的对象?我究竟做错了什么?我认为基本问题是我应该有一个AddToEmployer,我需要做些什么来暴露它?看起来很奇怪它不是一个选项,因为我可以在客户端看到雇主类型并且可以执行以下操作:

var NewEmployer = new Employer() - 这似乎表明我可以看到雇主类型罚款.

.net inheritance entity-framework savechanges table-per-type

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

在不同的Mvc解决方案中使用相同的代码

我正在使用asp.net mvc 3和.net framework 4.0与C#

假设我有NivoSlider(滑块)html代码.它还有js,css和图像文件.

我想使用NivoSlider cshtml代码和js/css/images作为"项目",我想将它添加到不同的MVC解决方案中.它将成为一个插件.

我无法将其视为部分视图,因为我必须将所有css,js和imges文件移动到新的解决方案中.我看了"mvc区域",但它没有渲染我的js和css文件(事实上;使用"区域"并不是一个完美的方式,因为你知道)...我查找了一些基于插件的架构,但没有 - 他们很容易实现.我的时间有限.

那么我该如何解决这个问题呢?

编辑:我可以使用这个http://razorgenerator.codeplex.com/ - 但如果你提出一个想法,我正在寻找另一种解决方案......

c# asp.net-mvc plugins partial-views asp.net-mvc-areas

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

按惯例使用接口拦截器进行Unity注册会导致"[type]不可拦截"异常

我希望使用WithMappings.FromMatchingInterface约定将实现特定接口的所有类注册到Unity中.另外,我希望使用接口拦截行为拦截所有已注册的对象.问题是Unity还注册了具体类之间的映射,当这些类被解析时,会抛出一个异常消息:

"[类型]不可拦截"

我意识到使用具体类类型解析对象不是最佳实践,但我想知道为什么Unity会自动为接口添加映射 - >具体类以及具体类 - >按惯例注册时的具体类?这意味着如果添加接口拦截器并使用具体类型解析它将永远不会工作.

我希望得到的结果是Unity在按惯例注册并给它一个接口拦截器时没有添加具体类型 - >具体类型映射,这样我们就可以使用它的具体类型来解析类,如果我们愿意,我们只是没有拦截.

我不想使用VirtualMethodInterceptor因为我不想对类进行更改以便拦截工作,这包括继承MarshalByRef.我还想避免单独注册所有对象.

因此,我的问题是,如何按惯例注册时只注册接口映射?

更新:单独注册类会产生相同的问题,因此假设一旦对象使用interfaceinterceptor注册,则无法通过使用具体类型来解析它.

新注册码:

container.RegisterType<ISomeService, SomeService>(new InjectionMember[]
            {
                new Interceptor<InterfaceInterceptor>(), 
                new InterceptionBehavior<TraceInterceptor>()
            });
        container.RegisterType<ISomeRepository, SomeRepository>(new InjectionMember[]
            {
                new Interceptor<InterfaceInterceptor>(), 
                new InterceptionBehavior<TraceInterceptor>()
            });
Run Code Online (Sandbox Code Playgroud)

更新2为所有接口添加默认拦截器似乎工作,虽然这个解决方案相当hacky.该解决方案在按惯例进行标准注册之前需要一些代码,并且InterfaceInterceptor在基于约定的注册中删除.

预注册代码

foreach (var type in types)
{
   container
       .Configure<Interception>()
       .SetDefaultInterceptorFor(type.GetInterface("I" + type.Name), new InterfaceInterceptor());
}
Run Code Online (Sandbox Code Playgroud)

一些解释困境的代码:

using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.InterceptionExtension;
using System;
using System.Diagnostics;
using System.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        { …
Run Code Online (Sandbox Code Playgroud)

unity-container unity-interception

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

如何将IdentityServer4与ASP.NET Microsoft Identity的自定义密码验证一起使用

我正在使用IdentityServer4并使用ASP.NET身份,并且想要进行自定义密码验证,以便我可以为密码过期添加验证(例如,如果密码超过90天,则让用户更改密码等. ).

我在Startup.cs 的方法中.AddPasswordValidator<>设置时遇到了该方法,但是无法找到有关如何实现它的任何明确文档.services.AddIdentityConfigureServices()

任何人都可以帮助实现或指向一些类似的示例代码吗?(或者可能有助于了解我在哪里/如何使用IdentityServer4实现用户/密码的自定义验证)?

c# asp.net validation asp.net-identity identityserver4

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

Flexbox 项目多行文本溢出

我有一个里面有很长字符串的 flex 项目,我希望它被包裹起来。但它不起作用。

flex 1 1 500px例如,我设置了 ( flex-basis = 500px) 并且它应该用word wrap: break-word

但它没有,只有当我设置时width=500px,它才开始工作,所以问题是为什么flex-basis 500px不工作而宽度工作?

HTML:

<div class="map-detail-wrapper">
    <div class="ad-detail-text">
        <span>{{ad.text}}</span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.map-detail-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.ad-detail-text {
    flex: 1 1 0%;
    width: 500px;
    line-height: 20px;
    font-size: 14px;
    margin: 20px;
    border: black;
    word-wrap: break-word;
    overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

css flexbox

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

Visual Studio Docker Tools如何从头开始强制容器重建

我在Visual Studio 2017(工具版本0.41)中使用docker-compose 来构建两个图像,一个ASP.NET Core API容器和一个PostgreSQL容器.我运行了Docker-Compose项目,一切正常 - 我可以从Api容器访问数据库.

我现在想要更改PostgreSQL环境变量POSTGRES_USER,POSTGRES_PASSWORDPOSTGRES_DB改为如下所示的新值:

泊坞窗,compose.yml:

services:
    mcodatabase:
        image: mcodatabase
        build:
        context: ./Data
        dockerfile: Dockerfile
        restart: always
        ports:
        - 5432:5432
        environment:
        POSTGRES_USER: mcodevuser
        POSTGRES_PASSWORD: password
        POSTGRES_DB: mcodev
        volumes:
        - postgresdata:/var/lib/postgresql/data
        networks:
        - mconetwork
    mcoapi:
        image: mcoapi
        build:
        context: ./Mco.Api
        dockerfile: Dockerfile
        ports:
        - 56107:80
        links:
        - mcodatabase
        depends_on:
        - "mcodatabase"
        networks:
        - mconetwork

    volumes:
    postgresdata:

    networks:
    mconetwork:
        driver: bridge
Run Code Online (Sandbox Code Playgroud)

但是,据我所知,图像已经创建.我想再次开始使用数据库映像mcodatabase.

这是我的图片:

c:\Projects\v4>docker images
REPOSITORY             TAG                 IMAGE …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose visual-studio-2017

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