目前我有一个 Angular 2 组件,它被降级为指令并用于引导式混合 Angular1/Angular2 应用程序。在浏览器中加载组件时遇到问题,出现以下错误:
没有 ActivatedRoute 的提供者!
注意:以下,ActivatedRoute 的无提供者 - Angular 2 RC5不涵盖此用例。
这个应用程序仍然使用来自引导的 Angular 1 应用程序的所有路由,并且到目前为止工作得很好;此时我还没有将路由转换为使用 Angular 2 路由。我在构建的新组件中的要求之一是检查查询参数。这可以通过以下代码完成:
import { ActivatedRoute } from '@angular/router';
constructor(
private route: ActivatedRoute)
route.queryParams.subscribe(
data => this.Id = data['Id']);
Run Code Online (Sandbox Code Playgroud)
我认为的问题在于,上面的代码依赖于 Angular2 路由器,正如我所提到的,它还没有在我的混合引导应用程序中使用。所以这是我的问题:
$routeParams获取查询字符串信息的原始 Angular1 控制器。这在我的新 Angular2 组件中不受支持。如果上面的答案是我无法使用,ActivatedRoute因为我没有使用 Angular2 路由器,我应该尝试使用这种旧方法还是使用另一种方法;我需要做的就是检查组件中的路由参数?无论是将Repository模式与Interface一起使用还是仅在应用程序中实现DataAccess方法,我经常会在方法描述之前看到带有"Get"或"Find"动词的方法.我在区分(2)方面有点挣扎,因为在查看DDD存储库示例或使用类似命名约定的任何其他架构时,我看到了相互矛盾的示例.例如,看看以下内容:
Function FindAllEmployees() As List(Of Employee)
Function GetAllEmployees() As List(Of Employee)
Run Code Online (Sandbox Code Playgroud)
我们不要过分关注"员工"的主题,这只是一个例子; 它可能是任何东西.我真的很感兴趣,如果有一些关于何时在开头描述一个带有'Get'和'Find'动词的方法的指南.
任何人都可以解释这个或详细说明吗?谢谢!
如何在VS.NET 2010中的VB.NET中将链接文件添加到My Project文件夹?"链接"文件是在VS.NET中右键单击项目,选择"添加 - >现有项目...",然后在文件对话框中单击箭头以显示"添加为链接".
我正在尝试将共享的"SolutionInfo.vb"文件添加到我的项目中,但我希望它位于"我的项目"文件夹中的"AssemblyInfo.vb"文件旁边.只需将其拖入解决方案资源管理器中的定位即可.该文件已成功添加,但它位于我的项目的根目录中.我希望它在"我的项目"文件夹中.
有人知道怎么做吗?
PS C#folks,我知道同样的事情可以完成,您可以将文件拖到'Properties'文件夹中,这是AssemblyInfo.cs文件驻留在C#项目中的位置.所以在C#中不是问题; 只是VB.NET.
如果我的域模型中的逻辑依赖于第三方组件或内部自定义库/ manager .dll中的某个,创建此依赖关系是否可以接受?我显然不依赖/依赖于我的域层的任何外观或持久层,但是我很好奇其他类型的依赖关系是否违反了DDD的任何规则?
我看了一堆使用的XML样本XDocument,XElement但它们似乎都有自闭项标签<To Name="John Smith"/>.我需要做以下事情:
<To Type="C">John Smith</To>
Run Code Online (Sandbox Code Playgroud)
我想下面会工作,并试图看看Linq.XML类的对象模型,但我走了只是一点点(见下面的那行不工作)
new XElement("To", new XAttribute("Type", "C")).SetValue("John Smith")
Run Code Online (Sandbox Code Playgroud)
任何有关如何正确形成XML的帮助表示赞赏,谢谢!
我有Unity DI容器最初使用我的Windows窗体应用程序.在Program.cs我有以下几点:
static void Main()
{
var container = BuildUnityContainer();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(container.Resolve<MainForm>());
}
private static IUnityContainer BuildUnityContainer()
{
var container = new UnityContainer();
container.RegisterType<ITest, MyTestClass>();
container.RegisterType<ISomeOtherTest, MyOtherClass>();
return container;
}
Run Code Online (Sandbox Code Playgroud)
在我的MainForm构造函数中,我有以下工作:
private readonly ITest test;
public MainForm(ITest test)
{
this.test = test;
InitializeComponent();
}
Run Code Online (Sandbox Code Playgroud)
容器已解析,代码正常.问题/问题是,我如何实例化一个新表单MainForm,比如说Form2有以下构造函数:
private readonly ISomeOtherTest someOtherTest;
public Form2(ISomeOtherTest someOtherTest)
{
this.someOtherTest = someOtherTest;
InitializeComponent();
}
Run Code Online (Sandbox Code Playgroud)
如果我在我的尝试中尝试以下内容MainForm:
Form2 form2 = new Form2();
form2.Show(); …Run Code Online (Sandbox Code Playgroud) 我正在为客户端使用当前的Azure Mobile Apps SDKJavaScript并使用以下教程.我已经注册了所有主要提供商Azure,他们都包含他们的应用程序ID和秘密正确配置.我正在使用SDK中的样板代码来调用Azure Mobile Apps,并且提供程序登录(Twitter,Google,MSFT,FB)将在我的Web应用程序中弹出一个窗口并允许登录进行身份验证.身份验证有效.
问题是回调过程回到我的原始网络应用程序.我收到403 (Forbidden)错误,浏览器窗口中显示以下内容:
您无权查看此目录或页面.
以下是一些示例回调网址(为简洁起见,模糊处理的值)
自由软件
网址:htt
https://myservice.azurewebsites.net/.auth/login/google/callback?state=nonce%3Dc&authuser=0&session_state=4cf501&prompt=none#
问题是,如果我使用上面的任何完整URL并粘贴到新的浏览器窗口并进行调用,我会在浏览器中收到以下Azure消息:
您已成功登录
确定登录和身份验证有效,但看起来应用程序的回调失败了403 forbidden.以下是我尝试过的事情:
CORS在我的Azure Mobile Apps实例的服务器上的Azure配置中使用"*"来源CORS在我的ASP.NET CoreWeb应用程序中允许"*"来源Content-Security-Policy的index.html<meta http-equiv ="Content-Security-Policy" content="default-src * 'unsafe-inline'; script-src * 'unsafe-inline'; connect-src *; img-src *; style-src * 'unsafe-inline'">
这个过程和代码对我来说并不陌生.这一切都曾经在Azure Mobile Services现在已经退休的旧实例中工作Azure Mobile Apps(没有content-security-policy上述内容;我之前从未需要过).我认为这不是JavaScript …
javascript authentication azure azure-mobile-services asp.net-core
所以我在这里查看MSDN示例:类型参数的约束(C#编程指南)和第一个示例显示了以下通用类定义where具有单个具体类型的约束:Employee
public class GenericList<T> where T : Employee
Run Code Online (Sandbox Code Playgroud)
现在当使用where约束时,我完全理解定义> 1类型时的用法,或者当使用接口时最常使用.然而(我知道这只是一个例子),为什么我只想用where约束来限制一个具体的类型?我不能只替换下面的代码:
public T FindFirstOccurrence(string s)
Run Code Online (Sandbox Code Playgroud)
以下是因为只有一个约束?
public Employee FindFirstOccurrence(string s)
Run Code Online (Sandbox Code Playgroud)
我可以看到一个单一的部署代码的唯一原因whereconstriant是在未来灵活地添加额外的约束,如果Employee成了IEmployee,我成立了一个容易一点的变化.
有人可以解释使用where单一类型约束提供的目的吗?
谢谢!
我想知道它是否可行,或者如何在我的Web API调用中将我的类上的字段用作参数?一旦我收到消息,我显然可以手动执行此操作,但我希望管道中内置了一些东西(比如MVC与jQuery结合使用必需的字段注释来自动回到UI显示必需的字段表示法)所以我不必手动检查所有内容.
假设我有以下ViewModel类:
public class PersonViewModel
{
public string FirstName {get; set;}
public string MiddleName {get; set;}
public string LastName {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
这是我简单的Post方法 PersonController
public HttpResponseMessage Post(PersonViewModel person)
{
}
Run Code Online (Sandbox Code Playgroud)
让我们说这些FirstName和LastName字段是必需的但不是 MiddleName.我想知道的是,如果Person对象没有填充必填字段之一,调用会自动使用HTTP 400错误请求或类似情况回复客户端吗?
基本上我必须手动完成所有这些工作,或者有没有办法让框架自动处理标记字段,所以我没有很多必需字段的样板验证代码?
手动方式我试图避免:
if (ModelState.IsValid)
{
if (person.LastName == string.empty)
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏,谢谢!
我测试了以下表达式来评估和比较(2)字符串:
.Where(x => x.GetAttributeValue<string>("country").Equals("United States"))
.Where(x => x.GetAttributeValue<string>("country").Equals("UNITED STATES"))
.Where(x => x.GetAttributeValue<string>("country").Equals("uniteD sTates"))
Run Code Online (Sandbox Code Playgroud)
注意:这些查询是为使用SDK中的CRM LINQ提供程序检索数据而构建的表达式.
价值x.GetAttributeValue<string>("country")是完全正确的United States.上面的所有表达都返回true.老实说,这对我很好,甚至很好,但似乎不适用于MSDN 文档中string.Equals哪些状态:
此方法执行序数(区分大小写和文化不敏感)比较.
我希望不得不做以下几点忽略整体套管:
.Where(x => x.GetAttributeValue<string>("country").Equals("UnITed sTAtes", StringComparison.OrdinalIgnoreCase))
Run Code Online (Sandbox Code Playgroud)
有趣的是,以上总是会回归false.对我来说,这是倒退的.默认实现不考虑区分大小写,并且显式赋值的StringComparison.OrdinalIgnoreCase行为类似于区分大小写,因此不匹配的确切值United States.
为什么这种行为反过来或者我误解了这个?
c# ×4
.net ×1
angular ×1
angularjs ×1
architecture ×1
asp.net-core ×1
azure ×1
javascript ×1
linq-to-xml ×1
vb.net ×1
winforms ×1
xelement ×1
xml ×1