我们有一个.net asmx Web服务,可以从javascript(使用ASP.Net AJAX)调用,并且需要访问Session.
[WebMethod(true)]
public string DoSomethingOnTheServer() { }
Run Code Online (Sandbox Code Playgroud)
我们遇到了会话被锁定在读/写请求上的问题.有没有办法将Web服务方法标记为要求只读访问Session?
谢谢!
我们正在编写一个专门用于横向模式的应用程序.我们在根视图上使用变换将其旋转到LandscapeRight,然后由该视图加载的每个视图共享坐标系.除了我们的一个视图有一个由视图控制器加载的UIWebView对象外,这一切都很好.我们试图查看的网站没有内容填充视图.当我在横向模式下在移动Safari中查看同一站点时,它看起来是正确的.我的猜测是我们用来托管WebView的View Controller仍然认为它处于纵向模式,因为查询属性的interfaceOrientation会返回"1"...是否有办法诱骗视图/视图控制器认为它是在特定的方向?
我在我们的应用程序中遇到了这段代码(已修改),并对它的工作方式感到困惑:
function someObject()
{
this.someProperty = {};
this.foo =
{
bar:
{
baz: function() { return "Huh?" }
}
};
this.getValue = function()
{
return (this.someProperty && this.foo.bar && this.foo.bar.baz && this.foo.bar.baz()) || null;
}
}
function test()
{
var o = new someObject();
var val = o.getValue();
alert(val);
}
Run Code Online (Sandbox Code Playgroud)
当你调用test()函数时,文字"嗯?" 警报.我不确定getValue的结果是如何返回的,我会认为做A && B && C && D会返回true,而不是D的值.
我在我们的解决方案中更改了一堆项目文件,为所有这些文件添加了参考路径.我没有意识到参考路径存储在项目的.user文件中.有没有办法将它们存储在.csproj文件中,以便可以将它们检入源代码管理?
我正在玩一些Linq-SQL的东西,做这样的事情:
var foo = from f in db.Foo where f.Bar > 5 select f;
Run Code Online (Sandbox Code Playgroud)
这一切都很好,花花公子,我知道我也可以这样做:
var foo = from f in db.Foo where f.Bar > 5 select new { f.Bar, f.Baz };
Run Code Online (Sandbox Code Playgroud)
我想知道的是,如果我想在运行时确定要选择哪些Foo部分,我可以将该查询的选择部分分解出来吗?如:
var foo = from f in db.Foo where f.Bar > 5 select SomeMethodThatReturnsThePropertiesOfFooIReallyWant();
Run Code Online (Sandbox Code Playgroud)
编辑澄清:我正在寻找SomeMethod ...()的语法和返回类型.
如果我想这样做一次:
select new { f.Bar, f.Baz };
Run Code Online (Sandbox Code Playgroud)
但其他时候这样做:
select new { f.Baz, f.Other };
Run Code Online (Sandbox Code Playgroud)
基于内存中的数据(没有做一个巨大的案例陈述),如果可能的话,我该如何做?
我有一个自定义URL协议用于我正在处理的应用程序(如此处所定义:http://msdn.microsoft.com/en-us/library/aa767914.aspx).这个协议工作正常,我可以去开始 - >运行并输入:
foo:1_1
Run Code Online (Sandbox Code Playgroud)
我的应用程序按预期启动.如果我创建一个具有该类型链接的网页,它会按预期工作(我从浏览器收到警告,但这没问题).当我尝试从包含其中一个链接的程序发送电子邮件时,我的问题出现了.特别是Gmail似乎正在删除我的链接,因此当我发送包含此链接的电子邮件时:
<a href='foo:1_1'>foo</a>
Run Code Online (Sandbox Code Playgroud)
我留下了这个结果HTML:
<a>foo</a>
Run Code Online (Sandbox Code Playgroud)
它似乎正在剥离我的href标签,我猜测是因为它无法识别协议.有谁知道如何解决这个问题?我用我的ISP的电子邮件服务测试了它,标签没有被删除.这只是我不得不忍受的事情,并告诉我的用户将链接剪切并粘贴到他们的开始 - >运行框中?
我正在使用asp.net中的app_offline.htm功能部署应用程序进行一些测试.我发现,如果我有一个正常工作的应用程序,并在根目录中放置了app_offline.htm文件,然后重命名\ bin文件夹,则我的app_offline.htm文件不会显示.如果我将bin文件夹重命名为"bin",我的app_offline.htm文件将按预期显示.我曾经认为/认为app_offline的存在会取代发生的任何事情......我错了吗?这是在Windows 7/IIS 7.5上.
我有这种情况:
我打开了一个解决方案,配置了一个使用的Web项目IIS
Express
.
我做了解决方案的构建,然后关闭Visual Studio.
然后我重新打开VS到那个解决方案.
有没有办法只需启动IIS Express而不必做ctrl- F5或类似的东西(我不需要再次构建,因为我知道什么都没有改变)?
我正在尝试做这样的事情:
public interface IRepository<T>
{
T Get<T>(int id);
}
public interface IFooBarRepository : IRepository<Foo>, IRepository<Bar>
{
}
IFooBarRepository repo = SomeMethodThatGetsTheActualClass();
Foo foo = repo.Get<Foo>(1);
Run Code Online (Sandbox Code Playgroud)
我收到警告:
类型参数"T"与外部类型"IRepository"中的类型参数同名
还有一个错误:
以下方法或属性之间的调用不明确:'IRepository.Get(int)'和'IRepository.Get(int)'
关于如何使这种模式有效的任何想法?
我正在针对数据库编写一些单元测试,我们正在使用事务来确保我们的测试数据最终被删除.
我遇到了一个问题,我正在测试的方法正在使用自己的TransactionScope对象,而且在访问数据库时它似乎是阻塞的.
这是我的测试的基类:
BaseScope = new CommittableTransaction(new TransactionOptions() { IsolationLevel = IsolationLevel.ReadUnCommitted, Timeout = new System.TimeSpan(0, 5, 0) });
Run Code Online (Sandbox Code Playgroud)
然后在我正在测试的方法内部,它确实:
using (TransactionScope scope = new TransactionScope())
Run Code Online (Sandbox Code Playgroud)
第二次范围内的代码第一次触及数据库,它就会挂起.我有解决这个问题的方法吗?
c# ×3
.net ×2
asp.net ×2
cocoa-touch ×1
email ×1
generics ×1
iis-7 ×1
iis-express ×1
iphone ×1
javascript ×1
linq ×1
linq-to-sql ×1
transactions ×1
web-services ×1
webforms ×1
windows ×1