关于如何开始使用Castle Windsor,我有一个非常基本的问题.我已经阅读了IOC/DI,并希望在现有的解决方案中尝试Castle Windsor.我通常喜欢将任何外部程序集放在解决方案的文件夹树中的Lib文件夹中,以便引用是相对的(我相信这是最佳实践).
我需要将Castle\Bin ...文件夹中的哪些程序集复制到我的Lib文件夹中?我是否需要为每个程序集添加显式引用或仅添加其中一些?
C:\ dev\oss\Castle\Bin \net-2.0文件夹中有30个程序集,C:\ dev\oss\Castle\Bin\Dependencies文件夹中有18个程序集.
我正在尝试将依赖注入引入现有的Web窗体应用程序.该项目是作为Web站点项目创建的(而不是Web应用程序项目).我看过你在global.asax.cs中创建全局类的示例,它看起来像这样:
public class GlobalApplication : HttpApplication, IContainerAccessor
{
private static IWindsorContainer container;
public IWindsorContainer Container
{
get { return container; }
}
protected void Application_Start(object sender, EventArgs e)
{
if (container == null)
{
container = <...>
}
}
Run Code Online (Sandbox Code Playgroud)
但是在网站项目中,如果要求添加全局类,则只添加包含服务器端脚本标记的global.asax:
<%@ Application Language="C#" %>
<script runat="server">
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
}
Run Code Online (Sandbox Code Playgroud)
这里似乎没有办法从HttpApplication(和IContainerAccessor)派生出来.还是我错过了一些明显的东西?
是否有Windows API调用会告诉我我是否在64位操作系统上运行?我有一些遗留的c ++代码调用GetVersionEx来填充OSVERSIONINFO结构,但这只能告诉我(AFAIK)OS(Vista,V7等),而不是处理架构.我可以通过简单地查找"C:\ Program Files(x86)..."的存在来解决这个问题,但这看起来很难看.我确信必须有一个API来返回此信息.
我从针对由Kafka主题定义的KTable的KSQL查询中获得意外结果。KTABLE是“交易”,并且由压缩主题“ localhost.dbo.TradeHistory”支持。它应该包含由TradeId键控的股票交易的最新信息。主题的键是TradeId。每笔交易都有一个AccountId,我正在尝试构造一个查询以获取按帐户分组的交易金额的总和。
ksql> create table Trades(TradeId int, AccountId int, Spn int, Amount double) with (KAFKA_TOPIC = 'localhost.dbo.TradeHistory', VALUE_FORMAT = 'JSON', KEY = 'TradeId');
...
ksql> describe extended Trades;
Name : TRADES
Type : TABLE
Key field : TRADEID
Key format : STRING
Timestamp field : Not set - using <ROWTIME>
Value format : JSON
Kafka topic : localhost.dbo.TradeHistory (partitions: 1, replication: 1)
Field | Type
---------------------------------------
ROWTIME | BIGINT (system)
ROWKEY | VARCHAR(STRING) (system)
TRADEID | INTEGER
ACCOUNTID | …Run Code Online (Sandbox Code Playgroud)