有人可以帮助我,因为谷歌没有提供答案.
我有一个SharePoint 2007安装程序,它通过一些Web部件使用SQL Server 2008 R2 SSAS OLAP多维数据集.
作为一名C#开发人员,Sharepoint是一场噩梦,因此我决定只需要尝试使用C#和OLAP交互.我的多维数据集都存在,并且正在工作,所以我需要做的就是创建一个简单的C#应用程序,以便在我的脑海中直接完成.
我已经下载了Microsoft.AnalysisServices v10.0.0.0,我可以很高兴地看到它在我的GAC中,但是我无法在Visual Studio 2010 C#4.0项目中添加引用.它只是没有出现.我已经尝试将应用程序设置为使用3.5,但仍然没有快乐.
有线索吗?
这是我进入stackoverflow世界的第一步,如果我提出任何建议,那么道歉.
我正在尝试创建一个WCF操作,它具有一个不暴露给外部世界的参数,而是自动传递给该函数.
所以全世界都看到了: int Add(int a, int b)
但它实现为: int Add(object context, int a, int b)
然后,在运行时由系统提供上下文.我正在使用的例子是完全人为的,但模仿我在现实世界中所研究的一些东西.
我能够接近,但不是那么完整.
首先,我创建了一个简单的方法并编写了一个应用程序来确认它的工作原理.确实如此.它返回一个+ b并将上下文作为字符串写入我的调试.好极了.
[OperationContract]
int Add(object context, int a, int b);
Run Code Online (Sandbox Code Playgroud)
然后我写了下面的代码:
public class SupplyContextAttribute : Attribute, IOperationBehavior
{
public void Validate(OperationDescription operationDescription)
{
if (!operationDescription.Messages.Any(m => m.Body.Parts.First().Name == "context"))
throw new FaultException("Parameter 'context' is missing.");
}
public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
{
dispatchOperation.Invoker = new SupplyContextInvoker(dispatchOperation.Invoker);
}
public void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation)
{
}
public void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters) …Run Code Online (Sandbox Code Playgroud) 现在这让我很兴奋。ReSharper -> Options -> C# 中的三元格式选项不包括缩进,只包括 '?' 的间距。和 ':' 字符,以及换行。
我想要的是:
var x = expr1
? expr2
: expr3;
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
var x = expr1
? expr2
: expr3;
Run Code Online (Sandbox Code Playgroud)
如果三元运算符格式没有提供任何帮助,我认为链式二进制表达式可能会有所帮助,但没有。设置如下。
var a = someOperand + operand2
+ operand3
+ operand4;
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?