我刚开始使用angularJS并且正在努力找出适合我正在尝试的架构.我有一个单页应用程序,但URL始终保持不变 ; 我不希望用户能够导航到root之外的任何路由.在我的应用程序中,有一个主要div需要托管不同的视图.访问新视图时,我希望它接管主div中的显示.以这种方式加载的视图可以丢弃或隐藏在DOM中 - 我很想知道每个视图的工作原理.
我想出了一个粗略的工作示例,说明我正在尝试做什么. 请参阅此Plunk中的工作示例. 基本上我想动态地将HTML加载到DOM中,并让标准的angularJS控制器能够挂钩到新的HTML中.有没有更好/更简单的方法来做到这一点,而不是使用我在这里的自定义指令并使用$ compile()来连接到角度?也许有点像路由器,但是不需要URL有变化才能运行?
这是我到目前为止使用的特殊指令(取自另一个SO帖子):
// Stolen from: http://stackoverflow.com/questions/18157305/angularjs-compiling-dynamic-html-strings-from-database
myApp.directive('dynamic', function ($compile) {
return {
replace: true,
link: function (scope, ele, attrs) {
scope.$watch(attrs.dynamic, function(html) {
if (!html) {
return;
}
ele.html((typeof(html) === 'string') ? html : html.data);
$compile(ele.contents())(scope);
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
谢谢,
安迪
我正在尝试使用C#让RabbitMQ 3.6.2在Windows 7上针对Erlang 18.0使用SSL/TLS.当我在C#代码中启用SSL时,我遇到了错误.我已经通过建立SSL/TLS的步骤了这里.我也经历了[故障排除步骤] [2],显示出成功(除了由于缺乏对stunnel的了解而无法完成stunnel步骤).这是我的C#代码试图连接到RabbitMQ:
var factory = new ConnectionFactory()
{
// NOTE: guest username ONLY works with HostName "localhost"!
//HostName = Environment.MachineName,
HostName = "localhost",
UserName = "guest",
Password = "guest",
};
// Without this line, RabbitMQ.log shows error: "SSL: hello: tls_handshake.erl:174:Fatal error: protocol version"
// When I add this line to go to TLS 1.2, .NET throws an exception: The remote certificate is invalid according to the validation procedure.
// https://stackoverflow.com/questions/9983265/the-remote-certificate-is-invalid-according-to-the-validation-procedure:
// Walked through this tutorial …Run Code Online (Sandbox Code Playgroud) 我有一个视图,其中父div具有ng-if,并且一些子元素具有ng-show.当嵌套在具有ng-if的元素下时,ng-show似乎无法正常工作.这是一个Angular bug还是我做错了什么? 看到这个plunker.
HTML:
<!-- with ng-if on the parent div, the toggle doesn't work -->
<div ng-if="true">
<div>
visibility variable: {{showIt}}
</div>
<div ng-show="!showIt">
<a href="" ng-click="showIt = true">Show It</a>
</div>
<div ng-show="showIt">
This is a dynamically-shown div.
<a href="" ng-click="hideIt()">Hide it</a>
</div>
</div>
<br/><br/>
<!-- with ng-show on the parent div, it works -->
<div ng-show="true">
<div>
visibility variable: {{showIt}}
</div>
<div ng-show="!showIt">
<a href="" ng-click="showIt = true">Show It</a>
</div>
<div ng-show="showIt">
This is a dynamically-shown div. …Run Code Online (Sandbox Code Playgroud) 尝试从新的ASP.NET MVC 4应用程序连接到Oracle数据库时出现以下错误:"ORA-12154:TNS:无法解析指定的连接标识符".我正在使用Oracle.ManagedDataAccess DLL(版本4.121.1.0)尝试连接到Oracle 10g数据库.这是事情 - 我有一个集成测试程序集,使用这个最小的App.config成功连接到数据库:
<connectionStrings>
<add name="OracleConnection" connectionString="DATA SOURCE=TNS_NAME;PASSWORD=xxx;PERSIST SECURITY INFO=True;USER ID=xxx" providerName="Oracle.ManagedDataAccess.Client" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用所有疯狂的Web.config设置运行我的Web应用程序,我收到错误"ORA-12154:TNS:无法解析指定的连接标识符".我究竟做错了什么?为什么我的集成测试程序集的配置如此简单,Web.config如此复杂?以下是我的Web.config的相关部分(取自部署和配置ODP.NET,无需与Entity Framework一起安装):
自定义configSection:
<configSections>
<section name="oracle.manageddataaccess.client"
type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>
Run Code Online (Sandbox Code Playgroud)
相应的配置部分:
<oracle.manageddataaccess.client>
<version number="*">
<edmMappings>
<edmMapping dataType="number">
<add name="bool" precision="1"/>
<add name="byte" precision="2" />
<add name="int16" precision="5" />
</edmMapping>
</edmMappings>
</version>
</oracle.manageddataaccess.client>
Run Code Online (Sandbox Code Playgroud)
自定义system.data节点:
<system.data>
<DbProviderFactories>
Remove in case this is already defined in machine.config
<remove invariant="Oracle.DataAccess.Client" />
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client"
description="Oracle Data …Run Code Online (Sandbox Code Playgroud) 我正在与一个小团队合作开展TFS项目.这个项目安装了一堆nuget软件包,但它适用于4.0项目,而nuget软件包管理器GUI甚至不再提供旧版本的软件包,因为现在使用的是4.5个版本.为了允许其他团队成员编译项目,他们需要拥有包的确切版本.我想检查nuget使用的整个"packages"文件夹.这是一个好主意吗?如果是这样,那么如何检查"packages"文件夹及其所有内容,因为它存在于解决方案级别?Visual Studio中没有"包含在解决方案中"选项,因为右键单击装配时.
我一直在使用MassTransit并且非常喜欢它.但是,默认情况下,它会使用特定于MassTransit的某些JSON包装所有RabbitMQ有效负载/消息.这使得很难与非.NET服务交换消息.我知道JSON可以被任何语言解析,但MassTransit只是一个.NET的东西,在我的非.NET服务中,我想避免添加特殊的逻辑来处理MassTransit生成的消息.
是否可以使用不通过"MessageEnvelope"接口的MassTransit序列化JSON消息,以便与非MassTransit服务建立更好的互操作性?或者这会打破大部分/全部MassTransit功能吗?
我正在研究一个需要从Siebel后面的Oracle 10g数据库读取的.Net应用程序.在VS 2010 Server Explorer中,我使用OracleClient类型连接器创建了一个连接,并将对Oracle TNS服务名称的引用称为"服务器名称"."测试连接"按钮显示连接成功.但是,在服务器资源管理器中,当我继续展开表时,不会显示任何表.我知道数据库中有3000多个表(感谢Siebel).有谁知道这里发生了什么?我想创建一个Entity Framework 4.0实体数据模型......
谢谢您的帮助!
安迪
这篇文章类似于MVC/MVP/MVPC,你在哪里提出你的业务逻辑?,但我正在寻找更多细节.我已经购买了模型作为绝大多数业务逻辑应该驻留的地方.但是,据我所知,模型内部有很多内容:应用程序状态管理,数据持久性,存储库,数据传输对象以及可能的其他内容.
我有一个具有超级复杂业务规则的应用程序.当用户尝试在视图中执行某个特定操作时,大约有20个不同的规则必须验证是否应该允许该操作,或者是否必须提示用户提供其他信息.我想按照每个方法编写这些业务规则,以便支持可测试性和文档.这些规则应该在存储库类中吗?也许在存储库上方的服务层?这里最好的做法是什么,记住我正在使用像Linq到SQL,EF或nHibernate的ORM解决方案?
我有一个城堡拦截器,我试图通过属性申请.当我在类级别应用我的Interceptor属性时,它工作得很好,但是当我在方法级别应用时,它根本不起作用.我究竟做错了什么?我不想拦截类上的每个方法,而是使用[Interceptor]属性标记某些方法.我已经尝试将我的方法标记为虚拟,但它仍然不起作用.这是我的代码:
这样可以拦截所有方法:
[Interceptor(typeof(CacheInterceptor))]
public class Foo : IFoo
{
public int SomeMethod() { }
}
Run Code Online (Sandbox Code Playgroud)
这不起作用(属性在方法级别):
public class Foo : IFoo
{
[Interceptor(typeof(CacheInterceptor))]
public int SomeMethod() { }
}
Run Code Online (Sandbox Code Playgroud)
安装人员:
public class CacheInterceptorInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Component.For<CacheInterceptor>().LifeStyle.Singleton);
container.Register(Component
.For<ICacheProvider>()
.LifeStyle.Singleton
.ImplementedBy<CacheProvider>());
}
}
Run Code Online (Sandbox Code Playgroud)
拦截器:
public class CacheInterceptor : IInterceptor
{
private readonly ICacheProvider _cacheProvider;
public CacheInterceptor(ICacheProvider cacheProvider)
{
_cacheProvider = cacheProvider;
}
public void Intercept(IInvocation invocation)
{
// do interception stuff
}
} …Run Code Online (Sandbox Code Playgroud) 我的任务是编写一个服务,该服务将从JIRA发送的Atlassian Webhook接受HTTP POST数据。我想在4.0 .NET框架中使用WebAPI来使用该服务,我想知道如何做到这一点。我找到了发现POST数据格式的资源:JIRA Webhooks Overview。
我认为我可以编写一个WebAPI“ Post”方法,将输入作为接受Dictionary<string, object>,但是我希望映射到一个定义明确的对象,而不是Goo字典。
我看到有一个名为Atlassian.SDK的NuGet程序包,其中包含“用于与Atlassian JIRA交互的实用程序”。但是,似乎该API更适合于读取JIRA票证,创建和更新它们。
Atlassian.SDK NuGet包是否允许使用Webhook以强类型方式发送的HTTP POST,而不是使用.NET Dictionary解析JSON数据?
angularjs ×2
c# ×2
oracle ×2
.net ×1
aop ×1
architecture ×1
asp.net ×1
javascript ×1
jira ×1
masstransit ×1
nuget ×1
rabbitmq ×1
ssl ×1
tfs ×1
webhooks ×1