小编man*_*u08的帖子

Visual Studio 2010发布Web功能不包括所有DLL

我有一个ASP.NET MVC 2应用程序.

  • Web项目包含对SomeProject的引用
  • SomeProject包含对ExternalAssembly1和ExternalAssembly2的引用.
  • SomeProject显式调用ExternalAssembly1,但不调用ExternalAssembly2.
  • ExternalAssembly1调用ExternalAssembly2

当我执行本地构建时,一切都很酷.所有DLL都包含在bin\debug文件夹中.问题是,当我在Visual Studio 2010中使用"发布Web"命令时,它会部署除ExternalAssembly2之外的所有内容.

它似乎忽略了不直接使用的程序集(请记住,ExternalAssembly2仅由ExternalAssembly1使用).

有什么办法可以告诉Visual Studio 2010包含ExternalAssembly2吗?

我可以写一个调用ExternalAssembly2的虚方法.这确实有效,但我真的不想让虚拟代码只是为了让VS2010发布DLL.

deployment build-process visual-studio-2010 msdeploy asp.net-mvc-2

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

在mysql中查看查询的隔离级别

如何确定给定查询的隔离级别?在执行查询(由第三方应用程序)之后,我想知道使用了哪个隔离级别(例如,读取未提交).

为了清楚起见,我目前正在开发一个使用EF4运行mysql 5.1的应用程序.我尝试测试不同的编码模式以更改特定EF4查询的隔离级别.我需要能够测试并确保正确设置隔离级别.

mysql locking isolation-level entity-framework-4

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

以编程方式检测SQL Server Edition

我正在使用C#和SMO并尝试检测我正在连接的SQL Server版本(例如,企业,标准).我知道如何获取版本信息,但这只能告诉我SQL Server的版本(例如,SQL Server 2008 vs SQL Server 2005).

有谁知道如何获得实际的产品版本(例如,企业,标准)?

我需要此信息,因为某些SQL Server功能只是企业.因此,我可以尝试调用它们并捕获异常,但我更喜欢前期检测.

谢谢!

sql sql-server smo

8
推荐指数
2
解决办法
5888
查看次数

WCF最大邮件大小配额

我正在尝试调用WCF服务(托管在Windows服务,而不是IIS),并收到以下错误:

已超出远程通道的传入邮件的最大邮件大小配额.有关详细信息,请参阅服务器日志

我已经尝试将MaxReceivedMessageSize和ReaderQuotas增加到它们的最大值而没有任何运气.

我还打开了日志记录并检查了"发送"的消息大小.它绝对没有接近最大值.我们正在谈论发送一个序列化为372KB XML的对象.

两个问题:

  1. 有谁知道消息所指的"服务器日志"是什么?我检查过EventViewer但没有显示出来......

  2. 有谁知道这里可能适用的其他配置设置?

c# wcf channel wcf-binding

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

在SQL Server中更改int类型的列以键入text

我想在类型为int的情况下更改SQL Server中的列,以便在保持列名的同时键入text.这个列的表有很多数据,我不想丢失它.SQL Server似乎不支持从int到text的隐式或显式转换,否则这将非常简单.那么,你将如何仅使用SQL来做到这一点?

sql database sql-server casting

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

删除选择N + 1而不包含.Include

考虑这些人为的实体对象:

public class Consumer
{
    public int Id { get; set; }
    public string Name { get; set; }
    public bool NeedsProcessed { get; set; }
    public virtual IList<Purchase> Purchases { get; set; }  //virtual so EF can lazy-load
}

public class Purchase
{
    public int Id { get; set; }
    public decimal TotalCost { get; set; }
    public int ConsumerId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在让我们说我想运行这段代码:

var consumers = Consumers.Where(consumer => consumer.NeedsProcessed);

//assume that ProcessConsumers accesses the Consumer.Purchases property …
Run Code Online (Sandbox Code Playgroud)

c# mysql linq-to-entities entity-framework entity-framework-4

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

.NET在Server 2008中永远缓存DNS

我遇到的问题是我的.NET Web请求总是针对给定的CNAME命中相同的IP.CNAME绑定到多个IP地址,并且每次发生DNS查找时都会以随机顺序返回这些IP地址(通过运行nslookup确认).

我写了一个简单的应用来测试这个:

    public void TestDNS()
    {
        while (true)
        {
            var ipAddress = Dns.GetHostAddresses("mywebsite.com").First().ToString();

            Console.WriteLine(string.Format("Current: '{0}' at: '{1}'", ipAddress, DateTime.Now.ToLongTimeString()));

            Thread.Sleep(1000);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我在Server 2008 Datacenter,Server 2008 R2 Datacenter,Server 2012,Windows 7和Windows 8上运行了这个应用程序.所有计算机都有最新的更新和服务包.

唯一失败的机器是Server 2008.每台其他机器每分钟切换一次IP地址(TTL为1分钟).Server 2008永远不会切换(运行超过一个小时).

要清楚,在机器上运行nslookup和其他工具似乎表明DNS正在返回我期望的结果.此问题似乎特定于Server 2008上的.NET.

我已经尝试了相关答案中列出的项目但没有成功.

有任何想法吗?

.net dns windows-server-2008 .net-4.5

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

在Entity Framework中映射值类型集合

类似的问题:使用Entity Framework或Linq to SQL将字符串集合映射

我有一个角色类:

public class Role
{
    public int RoleID { get; set; }
    public virtual IList<string> Actions { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我在db中有一个映射表,"RoleActionMapping"包含列,"RoleID"和"Action"."RoleID"是Role表的外键,"Action"是varchar.我似乎无法设置我的EF映射以使用RoleActions填充Role类.

关于如何实现这一点的任何想法?谢谢!

orm entity-relationship entity-framework entity-framework-4

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

IIS7中的自定义基本身份验证失败

我有一个ASP.NET MVC应用程序,有一些RESTful服务,我试图使用自定义基本身份验证来保护它们(它们是根据我自己的数据库进行身份验证).我已经通过编写HTTPModule实现了这一点.

我有一个方法附加到HttpApplication.AuthenticateRequest事件,它在身份验证失败的情况下调用此方法:

    private static void RejectWith401(HttpApplication app)
    {
        app.Response.StatusCode = 401;
        app.Response.StatusDescription = "Access Denied";
        app.CompleteRequest();
    }
Run Code Online (Sandbox Code Playgroud)

此方法附加到HttpApplication.EndRequest事件:

    public void OnEndRequest(object source, EventArgs eventArgs)
    {
        var app = (HttpApplication) source;
        if (app.Response.StatusCode == 401)
        {
            string val = String.Format("Basic Realm=\"{0}\"", "MyCustomBasicAuthentication");
            app.Response.AppendHeader("WWW-Authenticate", val);
        }
    }
Run Code Online (Sandbox Code Playgroud)

此代码添加"WWW-Authenticate"标头,告诉浏览器抛出登录对话框.当我使用Visual Studio的Web服务器进行本地调试时,这非常有效.但是当我在IIS7中运行它时失败了.

对于IIS7,除了匿名之外,我都关闭了内置的身份验证模块.它仍然返回HTTP 401响应,但它似乎正在删除WWW-Authenticate标头.

有任何想法吗?

authentication asp.net-mvc iis-7 httpmodule custom-authentication

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

通过D3绘制HTML表不会更新现有数据

我正在使用D3绘制一个HTML表格,并且在输入时工作得很好.当我向数据集合添加新项目时,它会正确地将新项目添加到表中.

问题是每当我更新集合中的现有对象(下面的backgroundJobs集合中的对象)时.当我重新运行D3代码以同步表时,它不起作用.什么都没发生.

这是代码:

var visibleColumns = ['Name', 'Start', 'End', 'Status', 'Metadata', 'Errors'];

var table = d3.select('#jobs').append('table');
var thead = table.append('thead');
var tbody = table.append('tbody');

thead.append("tr")
    .selectAll("th")
    .data(visibleColumns)
    .enter()
    .append("th")
    .text(function (column) { return column; });

function tick() {
    var rows = tbody.selectAll("tr")
        .data(backgroundJobs, function(d) {
            return d.name;
        })
        .enter()
        .append("tr");

    var cells = rows.selectAll("td")
        .data(function(row) {
            return [{column: 'Name', value: row.name},
                    {column: 'Start', value: row.startedTimestamp},
                    {column: 'End', value: row.endedTimestamp},
                    {column: 'Status', value: row.isRunning},
                    {column: 'Metadata', value: ''},
                    {column: 'Errors', value: …
Run Code Online (Sandbox Code Playgroud)

javascript html-table d3.js

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

如果任何语句失败,则会回滚的SQL查询

我想编写一个执行多个单独SQL语句的SQL脚本; 如果这些陈述中的任何一个失败,我想回滚整个交易.所以,像:

BEGIN TRANSACTION

insert into TestTable values (1)
insert into TestTable values (2)
insert into TestTabe values (3)

--if any of the statements fail
ROLLBACK
--else
COMMIT
Run Code Online (Sandbox Code Playgroud)

这适用于MS SQL 2008.有什么我可以做到的吗?也许某种异常处理?

我在实例中意识到我可以检查TestTable中的这些值并确定语句是否以这种方式失败.但实际上我的SQL会复杂得多,而且我宁愿抽象自己知道SQL在做什么.

sql exception-handling sql-server-2008

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

在IEnumerable <T>的上下文之外使用协方差

可能重复:
C#是否支持返回类型协方差?
为什么我不能这样实现接口?

考虑以下:

public interface IAnimal {
}

public class Animal : IAnimal {
}

public interface ICage {
     IAnimal SomeAnimal {get;}
}

public class Cage : ICage{
     public Animal SomeAnimal { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了很多关于IEnumerable的协方差和逆变的东西,但我不知道如何让上面的代码工作.我收到错误"Cage没有实现接口成员IAnimal".既然它定义了动物,它比IAnimal更明确,似乎协方差应该照顾我.

我错过了什么?提前致谢.

c# inheritance covariance

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