我读过很多关于OWIN和Katana项目的文章,但我无法全面了解它.
对于使用ASP.NET的普通Web开发人员:
我们假设这是我的行动方法
public IHttpActionResult Get(int id)
{
var status = GetSomething(id);
if (status)
{
return Ok();
}
else
{
return NotFound();
}
}
Run Code Online (Sandbox Code Playgroud)
测试将是
var httpActionResult = controller.Get(1);
Run Code Online (Sandbox Code Playgroud)
如何在此之后检查我的http状态代码?
我正在尝试验证数字1-8的逗号分隔列表.
即2,4,6,8,1有效输入.
我试过[0-8,]*但它似乎接受1234有效.它不需要逗号,而是让我输入大于8的数字.我不知道为什么.
将渲染代码与实际游戏引擎/逻辑代码分开的最佳方法是什么?将它们分开是一个好主意吗?
假设我们有一个名为Knight的游戏对象.必须在屏幕上呈现骑士以供用户查看.我们现在有两个选择.要么我们给Knight一个Render/Draw我们可以调用的方法,要么我们创建一个渲染所有骑士的渲染器类.
在两者分开的场景中,骑士应该还包含渲染他所需的所有信息,还是应该将它分开呢?
在我们创建的最后一个项目中,我们决定让渲染对象所需的所有信息都存储在对象本身中,但是我们有一个单独的组件来实际读取该信息并渲染对象.该对象将包含诸如大小,旋转,缩放以及当前正在播放的动画等信息,并且基于此,渲染器对象将构成屏幕.
像XNA这样的框架似乎认为加入对象和渲染是一个好主意,但是我们害怕被绑定到特定的渲染框架,而构建单独的渲染组件使我们可以在任何给定时间更自由地更改框架.
在我的私人WAMP PC上运行一些PHP代码时,我突然从服务器得到一个空白的响应 - 实际上没有响应.没有标题,没有数据,PHP错误日志中没有任何内容,nada.我重新启动了APACHE和PHP,但仍然没有.我知道php正在运行,因为我可以正常访问其他PHP脚本.
Firebug报告没有标题,?字节,只需要163ms来"加载"(所以它不是超时).我想到了快速的内存消耗 - 但我监控了我的PC的内存并且没有出现任何高峰.到目前为止,错误和例外一直很好.
世界上有什么?
max_execution_time = 30 ;
max_input_time = 60 ;
max_input_nesting_level = 64 ;
memory_limit = 500M ;
error_reporting = E_ALL | E_NOTICE | E_STRICT
display_errors = On
log_errors = On
Run Code Online (Sandbox Code Playgroud)
:编辑:
我不会@用十英尺杆接触.我认为红宝石家伙会把它扔进去,所以程序员会放弃PHP.
无论如何,我启用了xdebug并且它没有输出任何研磨文件.然后我接受了zombat的建议并在页面顶部放置了一个DIE()并且它有效.我想我只是有一些非常奇怪的代码完全杀死了PHP.即使错误被禁用或抑制,@我仍然应该从服务器返回带有空内容的标题!
如果我发现更多,我会回复.
例如,我想分开:
OS234去OS和234AA4230去AA和4230我使用了以下简单的解决方案,但我确信应该有一个更有效和更强大的解决方案.
private void demo()
{ string cell="ABCD4321";
int a = getIndexofNumber(cell);
string Numberpart = cell.Substring(a, cell.Length - a);
row = Convert.ToInt32(rowpart);
string Stringpart = cell.Substring(0, a);
}
private int getIndexofNumber(string cell)
{
int a = -1, indexofNum = 10000;
a = cell.IndexOf("0"); if (a > -1) { if (indexofNum > a) { indexofNum = a; } }
a = cell.IndexOf("1"); if (a > -1) { if (indexofNum > a) …Run Code Online (Sandbox Code Playgroud) 我刚刚继承了一个代码类似于以下(相当简单)示例的项目:
DECLARE @Demo TABLE
(
Quantity INT,
Symbol NVARCHAR(10)
)
INSERT INTO @Demo (Quantity, Symbol)
SELECT 127, N'IBM'
Run Code Online (Sandbox Code Playgroud)
我感兴趣的是N字符串文字之前.
我知道前缀N是指定编码(在本例中为Unicode).但由于select仅用于插入显然已经是Unicode的字段,因此该值不会自动向上转换吗?
我没有运行代码N,它似乎工作,但我错过了以前程序员的意图吗?或者是N他/她的疏忽?
我希望行为类似于我传递int给一个decimal字段时的行为(自动向上播放).我可以摆脱那些N吗?
我目前正在尝试使用以下技术的组合为新应用程序创建基于声明的身份验证的概念验证:Web API 2,OWIN中间件和JWT.
为了简单起见,我从Web API 2项目模板开始,将身份验证更改为"个人用户帐户".我创建的示例客户端然后能够通过调用/ Token获取令牌,并且能够使用OAuth承载令牌调用示例端点.到现在为止还挺好.然后我将以下代码添加到Startup.Auth.cs以尝试启用JwtBearerAuthentication:
var jwtOptions = new JwtBearerAuthenticationOptions
{
AllowedAudiences = audiences,
IssuerSecurityTokenProviders = new[] {
new SymmetricKeyIssuerSecurityTokenProvider(issuer, signingKey) }
};
app.UseJwtBearerAuthentication(jwtOptions);
Run Code Online (Sandbox Code Playgroud)
我预计Web API 2会从调用/ Token开始返回JWT,但它似乎没有做任何事情.几天来我一直在反对这一点,没有成功,微软的文件也不是很快.
我还尝试将以下内容添加到OAuthAuthorizationServerOptions中
AuthorizationCodeFormat = new JwtFormat(audience, new SymmetricKeyIssuerSecurityTokenProvider(issuer, signingKey))
Run Code Online (Sandbox Code Playgroud)
我也可能试图做完全错误的事情.
任何想法将不胜感激.
本周我遇到了关于C#集合中隐式转换的问题.虽然这(使用implicit)可能不是我们的最终方法,但我想至少完成代码以提供团队作为选项.我将问题归结为以下示例案例:
我的示例中有两个类:一个代表业务对象(Foo),另一个代表此业务项(FooVO)的客户端版本(View Object),如下所定义...
public class Foo
{
public string Id {get; set;}
public string BusinessInfo {get; set;}
}
public class FooVO
{
public string Id {get; set;}
public static implicit operator FooVO( Foo foo )
{
return new FooVO { Id = foo.Id };
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是当我有一个Foo对象列表,并希望使用我的隐式运算符将它们转换为FooVO对象列表.
List<Foo> foos = GetListOfBusinessFoos(); // Get business objects to convert
Run Code Online (Sandbox Code Playgroud)
我试过了
List<FooVO> fooVOs = foos; // ERROR
Run Code Online (Sandbox Code Playgroud)
和
List<FooVO> fooVOs = (List<FooVO>) foos; // ERROR
Run Code Online (Sandbox Code Playgroud)
乃至
List<FooVO> fooVOs = foos.Select( x …Run Code Online (Sandbox Code Playgroud) 只是想知道.NET应用程序是否可以提前编译为本机代码?即使我可以,我也不打算这样做; 我只是好奇.
谢谢