我对WCF开发相当新,并且在学习框架时遇到了一些问题.我有一个必须支持REST和SOAP的服务api.到目前为止,这很容易实现,特别是使用WCF4和路由.
我目前正在进行授权,并设法通过创建两个新的管理器类来扩展AuthorizationManager:"ApiKeyAuthorizationManager"和"ApiKeyAndTokenAuthorizationManager"
我的大多数服务都需要ApiKey和Token(GUIDS)才能出现; 在最初进行身份验证时,您只需要一个有效的ApiKey和密码来接收令牌.
到目前为止,REST正在完美地工作,因为授权管理器会查询查询字符串以获取ApiKey和/或令牌.
例如,服务uri看起来像:*http://api.domain.com/Service/Operation/ {someVariableValue}?ApiKey = GUID&Token = GUID
我现在的问题是授权SOAP服务调用.我做了一些研究,并在实施之前得出了一些我想验证的结论.
为了使用自定义凭据授权SOAP,我应该:
我是在正确的轨道吗?所有这些步骤是否都适合我的方案?似乎只是为了验证由两个GUID组成的凭证而进行的定制.
谢谢!
[编辑#1]
这是一项非常艰巨的任务.自定义凭据和安全令牌几乎没有记录.找到高质量的博客文章本身已经证明几乎不可能.我一直在偷偷摸摸,我已经非常接近有一个有效的解决方案了.我甚至打过这篇文章中描述的相同路障.
当我尝试访问我的服务以发现wsdl或mex时,我收到此错误:
The service encountered an error. An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: System.InvalidOperationException: An exception was thrown in a call to a policy export extension. Extension: System.ServiceModel.Channels.SymmetricSecurityBindingElement Error: Specified argument was out of the range of valid values. Parameter name: parameters ----> System.ArgumentOutOfRangeException: Specified argument was out of …
我试图使用respond_with方法使用rails创建一个简单的rest api,但它不想输出任何类型的状态消息
例如,我希望它不仅可以返回json以获取get调用,还可以返回ok状态.当帖子或删除工作/失败时相同.
一些教程建议使用额外的:状态参数,但它们似乎根本不影响输出.
def index
@conns = Connection.all
respond_with(@conns, :status => :ok)
end
Run Code Online (Sandbox Code Playgroud)
这将返回与if:status =>:ok不存在相同的确切内容.
有任何想法吗??
谢谢!
我的任务是在多台Windows机器上建立基于Java的开发环境.问题是我希望在每台机器上自动轻松地完成这个过程,这样开发人员就不必浪费时间下载和安装所有不同的应用程序.理想情况下,我希望有以下内容:
我已经研究了几种工具.目前最有前途的似乎是Puppet.但是,Puppet在Windows中不能正常工作......使用VM映像可以解决第一个要求,但由于硬件在整个机器上不同并且升级不容易,因此它是不可能的.
有没有人有过这种任务的经验?你会如何解决它?
我正在尝试创建具有相同基类型的对象实例,如下所示:
Assembly myAssembly = Assembly.GetExecutingAssembly();
var objs = myAssembly.GetTypes().Where(t => t.BaseType == typeof(SearchLogicObjectBase)).OrderBy(o => o.FullName);
foreach (var item in objs)
{
SearchLogicObjectBase p = (SearchLogicObjectBase)Activator.CreateInstance(item.GetType(), new Object[] { false });
_searchlogic.AddDefaultSearchObject(p);
}
Run Code Online (Sandbox Code Playgroud)
派生对象具有如下构造函数:
public SearchLogicCsri()
: this(true)
{ }
public SearchLogicCsri(bool extendsearch)
: base(extendsearch)
{
Table = "csri";
ViewModel = "CsriViewModel";
ExtendSearch = extendsearch;
}
Run Code Online (Sandbox Code Playgroud)
并且基础对象(SearchLogicObjectBase)有一个这样的构造函数:
public SearchLogicObjectBase(bool extendsearch)
{
_extendsearch = extendsearch;
}
Run Code Online (Sandbox Code Playgroud)
但是,上面的代码导致以下异常:
找不到类型为"System.RuntimeType"的构造函数.
基类和派生类型都有一个构造函数,它只需要一个布尔值,所以我不知道为什么我会得到错误.
有人可以帮忙吗?
我一直在与Raphael合作,在画布上创建拖放形状.我使用.drag()函数(在Raphael框架中提供)和我的事件函数来完成此操作.我这样做没有问题.
我还有一个在dblClick上创建一个新形状的函数,问题是,我只能将事件附加到形状或我创建的其他元素.
向形状添加事件的方式如下:
R = Raphael("canvas", "100%", "100%"),
R.rect(100, 100, 25, 50).attr({fill: fillColor}).dblclick(myDblClick);
Run Code Online (Sandbox Code Playgroud)
在画布上使用相同的原理不起作用:
R = Raphael("canvas", "100%", "100%"),
R.dblclick(myDblClick);
Run Code Online (Sandbox Code Playgroud)
有没有人知道将点击事件附加到画布的方法,即我可以点击div中的任何位置(不包括形状),然后触发事件.
谢谢.
我已经构建了一个CSS导航标题,它的工作方式完全符合我想要的定位,程式化等等.这是使它风格化的CSS:
#header ul {
padding:72px 0 0 0;
text-align:center;
}
#header ul, #header ul li {
margin:0;
list-style:none;
}
#header ul li {
display:inline;
}
#header ul li a {
font-size:17px; color:#69C; text-decoration:none;
display:inline-block;
height:44px;
line-height:44px;
margin:3px 6px;
padding:0 26px;
}
#header ul li a:hover {
background:#69C;
color:#FFF;
}
Run Code Online (Sandbox Code Playgroud)
这是清单:
<div id="#header">
<ul>
<li><a href="#">HOME</a></li>
<li><a href="#">WHAT WE DO</a></li>
<li><a href="#">ABOUT US</a></li>
<li><a href="#" id="get_started">GET STARTED TODAY!</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
非常简单的东西(目前可在http://www.pmind.com/staging上查看,但我在此处为潜在的未来读者提供了代码).
您可能会在列表中注意到,最终的li具有分配给它的ID.当我将此规则添加到CSS时:
#get_started {
color:#3C0;
}
Run Code Online (Sandbox Code Playgroud)
什么都没发生.我的理解是,CSS文档中稍后出现的A. …
我希望能够检测 Python 应用程序,以便我知道:
我想要这些来自生产的数据(不是离线分析)——因为在不同地方花费的时间在负载下会有所不同。
在 PHP 中,我可以使用 XHProf 或 instrumentation-for-php 来做到这一点。在 Ruby on Rails/.NET/Java 中,我可以使用 New Relic 做到这一点。
有没有推荐用于 Python 或 django 的包?
我正在验证如下所示的文本框,假设在单击"确定"后会弹出覆盖带有无效数字消息的文本框条目,我希望显示之前覆盖的有效条目.
我怎么能在C#中做到这一点?
private void cor_o_gain_Validating(object sender, CancelEventArgs e)
{
try
{
int entered = int.Parse(cor_o_gain.Text);
if (entered > 255)
{
e.Cancel = true;
MessageBox.Show("Enter the number between 0 and 255");
}
}
catch (FormatException)
{
// e.Cancel = true;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个博客,文章网站,所以我决定使用NTEXT数据类型的博客和文章内容.直到我看到这一点
重要
将来的MicrosoftSQL Server版本中将删除ntext,text和image数据类型.避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序.请改用nvarchar(max),varchar(max)和varbinary(max).
固定和可变长度数据类型,用于存储大型非Unicode和Unicode字符和二进制数据.Unicode数据使用UNICODE UCS-2字符集.(http://msdn.microsoft.com/en-us/library/ms187993.aspx)
我确定如果我使用nvarchar(max),博客和文章内容将达到4000个字符限制.在这种情况下我应该使用什么数据类型?
使用在线词典工具并没有多大帮助.我认为封装的方式在计算机科学中的使用并不完全符合它在简单英语中的含义.
计算机科学版本的反义词是什么?更具体地说,什么是封装的反义词,它将作为函数名称使用.
我为什么要在乎?这是我的动机:
// A class with a private member variable;
class Private
{
public:
// Test will be able to access Private's private members;
class Test;
private:
int i;
}
// Make Test exactly like Private
class Private::Test : public Private
{
public:
// Make Private's copy of i available publicly in Test
using Private::i;
};
// A convenience function to quickly break encapsulation on a class to be tested.
// I don't have good name for …Run Code Online (Sandbox Code Playgroud) c# ×2
.net ×1
activator ×1
css ×1
django ×1
frameworks ×1
java ×1
javascript ×1
jquery ×1
oop ×1
profiling ×1
provisioning ×1
puppet ×1
python ×1
raphael ×1
rest ×1
ruby ×1
sql-server ×1
terminology ×1
unit-testing ×1
validation ×1
wcf ×1