小编Red*_*Taz的帖子

如何使用标准MVC Core依赖注入来解析未注册的类型

有没有办法获得IServiceProvider.GetService<T>返回实例,即使T没有明确注册容器?

如果我知道T有依赖关系,我希望根据他们的注册注入它们而不必注册T自己.

我相信如果没有找到合适的构造函数,Ninject将智能地计算出最合适的构造函数或回退到无参数构造函数.如果可能的话,我想使用标准的MVC Core DI框架来复制这种行为.

.net c# asp.net-mvc dependency-injection asp.net-core-mvc

16
推荐指数
1
解决办法
1731
查看次数

带有连接表的SQL可更新视图

我有一个看起来与此相似的观点,

SELECT  dbo.Staff.StaffId, dbo.Staff.StaffName, dbo.StaffPreferences.filter_type
FROM    dbo.Staff LEFT OUTER JOIN
        dbo.StaffPreferences ON dbo.Staff.StaffId = dbo.StaffPreferences.StaffId
Run Code Online (Sandbox Code Playgroud)

我正在尝试更新StaffPreferences.filter_type使用,

UPDATE vw_Staff SET filter_type=1 WHERE StaffId=25
Run Code Online (Sandbox Code Playgroud)

我在MSDN文章中读过这篇文章,

任何修改(包括UPDATE,INSERT和DELETE语句)都必须仅引用一个基表中的列.

这是否意味着我只能更新dbo.Staff中的字段(这是我当前可以实现的)在这个上下文中,'base table'的定义是否扩展到任何后续连接的表?

编辑:这是MS SQL

sql-server view sql-view sql-update

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

ASP.NET捆绑/缩小和嵌入式资源

我正在尝试使用此博客中描述的技术将嵌入式DLL资源添加到我的捆绑包中.

我在VirtualPathProvider下面创建了自定义.

public class EmbeddedVirtualPathProvider : VirtualPathProvider {

    private Type _rootType;

    public EmbeddedVirtualPathProvider(Type rootType) {
        _rootType = rootType;
    }

    public override bool FileExists(string virtualPath) {
        if (IsEmbeddedPath(virtualPath))
            return true;
        else
            return Previous.FileExists(virtualPath);
    }

    public override CacheDependency GetCacheDependency(string virtualPath, IEnumerable virtualPathDependencies, DateTime utcStart) {
        if (IsEmbeddedPath(virtualPath)) {
            return null;
        }
        else {
            return Previous.GetCacheDependency(virtualPath, virtualPathDependencies, utcStart);
        }
    }

    public override VirtualDirectory GetDirectory(string virtualDir) {
        return Previous.GetDirectory(virtualDir);
    }

    public override bool DirectoryExists(string virtualDir) {
        return Previous.DirectoryExists(virtualDir);
    }

    public …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc virtualpathprovider bundling-and-minification

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

使用与Blue Ocean不同的jenkinsfile路径

摘要

Blue Ocean编辑器忽略multibranch管道插件的Script Path设置,而是将Jenkins文件保存在存储库根目录中.这是一个错误吗?

背景

我们有一个包含多个项目的存储库,因此我们尝试设置许多multibranch管道作业,每个作业都指向同一个存储库.

我们遇到的第一个问题是存储管道代码的Jenkins文件存储在存储库的根目录中,问题是这是每个作业的相同位置.我们随后发现,截至2017年6月,您现在可以在multibranch管道插件中为每个作业指定一个Jenkinsfile位置.大.

将Blue Ocean添加到组合中:在Blue Ocean编辑器中编辑管道时,似乎忽略了Script Path设置,而是将生成的管道代码保存在固定位置(存储库的根目录).然而,当作业运行时,它会选择正确的位置,因此它似乎是编辑器的错误.

我们搜索了Blue Ocean积压但找不到现有问题,我们是否发现了新的错误?我们对Jenkins很新,所以我不确定是否a)我们没有正确设置或b)Blue Ocean不会以这种方式工作.

组态

Multibranch Pipeline Job 1
Name: Foo
Repository Name: test
Build Configuration -> Script path: Build/Jenkins/Foo/jenkinsfile

Multibranch Pipeline Job 2
Name: Bar
Repository Name: test
Build Configuration -> Script path: Build/Jenkins/Bar/jenkinsfile
Run Code Online (Sandbox Code Playgroud)

示例存储库有2个分支,master和dev.

jenkins jenkins-pipeline jenkins-blueocean

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

嵌入式DLL资源

在dll中是否有一种访问嵌入式资源(css/js/images等)的简洁方法.

例如,从aspx页面,可以使用类似下面的内容吗?

<script type="text/javascript" src="<%= ResolveUrl("~/My.Dll.Namespace.File.js") %>"></script>

javascript css asp.net dll

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

ASP.NET HttpWebRequest POST返回"远程服务器返回错误:(405)方法不允许".仅限VS dev Server

我正在使用HttpWebRequest将数据发布到ASP.NET网页(当前在ASP.NET开发服务器上运行)这是代码;

string url = "http://localhost:3333/MySite/";
WebResponse response = null;
try {
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);

    ASCIIEncoding encoding = new ASCIIEncoding();
    string postData = "data=test";
    byte[] dataBtyes = encoding.GetBytes(postData);

    request.UserAgent = "Custom Agent";
    request.Method = "POST";
    request.KeepAlive = true;
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = dataBtyes.Length;

    Stream stream = request.GetRequestStream();
    stream.Write(dataBtyes, 0, dataBtyes.Length);
    stream.Close();

    response = request.GetResponse();
} catch (Exception e) {

}
Run Code Online (Sandbox Code Playgroud)

使用HTTPModule我正在拦截来自"自定义代理"的请求并发送回自定义标头.这适用于GET请求,但是我想要发送的数据可能会超出GET请求允许的限制,所以我想使用POST(如上所述).

我已在真正的IIS服务器上测试了此代码并且它可以工作,但是每次在发送POST数据后调用GetResponse()时,Visual Studio开发服务器都会导致异常"405 Method Not Allowed"(GET工作正常.)

任何人都可以解释为什么开发服务器似乎拒绝POST请求?

编辑:更新问题标题和正文以强调与VS dev服务器一起存在的问题.

asp.net http

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

当子查询返回 0 行时,Mysql 查询不返回任何内容

当尝试从子查询中选择字段时,如果任何子查询不返回任何行,则不会返回任何内容(甚至不返回空结果集)

SELECT sub1.field, sub2.another_field
    FROM (
        (
            SELECT field
            FROM table
            WHERE id=1
        ) AS sub1, (
            SELECT another_field
            FROM table
            WHERE id=2
        ) AS sub2
    )
Run Code Online (Sandbox Code Playgroud)

NULL当子查询返回 0 行时,我希望有一个包含值的行。

mysql subquery

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

C#属性参考

给出以下代码;

public class CustomControl {
    private object _dataItem;

    public object DataItem {
        get { return _dataItem; }
        set { _dataItem = value; }
    }

    public void Update(ref string t) {
        t = "test";
    }
}

public class Consume {
    public void Example() {
        CustomControl ctrl = new CustomControl();
        ctrl.DataItem = anyObject.anyProperty;

        string prop = anyObject.anyProperty;
        ctrl.Update(ref prop);
        anyObject.anyProperty = prop;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何更改它以使DataItem属性本身成为引用,允许您先发制人地将其设置为指向变量,从而允许您在Update()没有任何参数的情况下调用.

因此,Consume类看起来类似于;

public class Consume {
    public void Example() {
        CustomControl ctrl = new …
Run Code Online (Sandbox Code Playgroud)

c# reference

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

使用PhantomJS使用图像渲染HTML

我正在尝试使用PhantomJS(版本1.9.7)从HTML文本创建PDF.我写了一个非常简单的脚本(错误回调等更复杂)

phantom.onError = function(msg, trace) {
    var msgStack = ['PHANTOM ERROR: ' + msg];
    if (trace && trace.length) {
        msgStack.push('TRACE:');
        trace.forEach(function(t) {
            msgStack.push(' -> ' + (t.file || t.sourceURL) + ': ' + t.line + (t.function ? ' (in function ' + t.function + ')' : ''));
        });
    }
    system.stdout.write(msgStack.join('\n'));
    phantom.exit(1);
};

var page = require('webpage').create();
page.viewportSize = { width: 800, height: 600 };
page.paperSize = { format: 'A4', orientation: 'portrait', margin: '1cm' };
page.onResourceRequested = function(requestData, networkRequest) {
    console.log('Request …
Run Code Online (Sandbox Code Playgroud)

phantomjs

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

将表达式存储在SQL中的变量中

鉴于IN接受格式的参数,(subquery | expression [ ,...n ])表达式是否可以存储在变量中以供重用?

例如(警告;这是设计的):

declare @expression ?expression_type?
declare @test int

set @expression = (44, 132, 133, 166, 167, 168, 169, 170)
set @test = 44

if @test in @expression begin
    -- do something
end

if @test not in @expression begin
    -- do something else
end
Run Code Online (Sandbox Code Playgroud)

我试图通过不复制表达式来保持代码可维护性.但是,这个目标是一个可以多次调用的函数,因此我不想求助于将这些ID存储在表(永久或临时)中,因为这会导致不必要的读取.

t-sql sql-server

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

XSLT如果first为空,则将排序应用于第二个值

我有一个循环新闻项目节点.在其他属性中,这些新闻项具有创建日期的两个属性.系统添加日期和用户输入创建日期(以覆盖系统日期).我希望列表按创建日期排序,并在用户输入的日期中按首选项排序.

以下是我卑微的无效尝试!

<xsl:for-each select="$currentPage/ancestor-or-self::node /node [@nodeTypeAlias = $documentTypeAlias and string(data [@alias='umbracoNaviHide']) != '1']">

<xsl:choose>
 <xsl:when test="data [@alias = 'createdDate'] != ''">
  <xsl:variable name="sort" select="string(data [@alias = 'createdDate'])"/>
 </xsl:when>
 <xsl:otherwise>
  <xsl:variable name="sort" select="string(@createDate)"/>
 </xsl:otherwise>
</xsl:choose>

<xsl:sort select="$sort" order="descending"/>
Run Code Online (Sandbox Code Playgroud)

非常感谢

sorting xslt umbraco

0
推荐指数
1
解决办法
2325
查看次数

LINQ to SQL在结果中省略了字段,同时仍将其包含在where子句中

基本上我正在尝试在LINQ to SQL中执行此操作;

SELECT DISTINCT a,b,c FROM table WHERE z=35
Run Code Online (Sandbox Code Playgroud)

我试过这个,(c#代码)

(from record in db.table
select new table {
    a = record.a,
    b = record.b,
    c = record.c
}).Where(record => record.z.Equals(35)).Distinct();
Run Code Online (Sandbox Code Playgroud)

但是当我以这种方式从表对象中删除列z时,我得到以下异常;

绑定错误:在投影中找不到成员'table.z'.

我不能返回字段z,因为它会使我的明显无用.任何帮助表示赞赏,谢谢.

编辑:

这是一个更全面的例子,包括使用PredicateBuilder,

var clause = PredicateBuilder.False<User>();
clause = clause.Or(user => user.z.Equals(35));
foreach (int i in IntegerList) {
    int tmp = i;
    clause = clause.Or(user => user.a.Equals(tmp));
}

var results = (from u in db.Users
               select new User {
                   a = user.a,
                   b = user.b,
                   c = …
Run Code Online (Sandbox Code Playgroud)

c# sql linq linq-to-sql

0
推荐指数
1
解决办法
730
查看次数

使用LINQ从2D阵列中进行选择和排序

如果我有这样的2D数组字符串;

{
    {"12", "Animal", "Cat"}
    {"20", "Animal", "Dog"}
    {"6", "Vegetable", "Carrot"}
    {"5", "Mineral", "Iron"}
}
Run Code Online (Sandbox Code Playgroud)

我如何使用LINQ来选择数据和orderby,比如第二个'列'?(C#linq最好)

c# linq

0
推荐指数
1
解决办法
2602
查看次数