(我看到几个与我的问题有关的问题,但是没有一个解决方案对我有用,因为我在生产中遇到了这个问题,而不是在本地开发期间,我已经尝试了所有提议的修复.)
我有一个使用IIS托管的WCF服务的Silverlight 4应用程序.在生产中,这些服务通过HTTPS访问.尽管有一个有效的crossdomain.xml文件,我仍然在访问服务时得到着名的"安全错误":
__CODE__
使用Fiddler我可以看到没有请求crossdomain.xml或clientaccesspolicy.xml.有一个CONNECT请求到服务器,但这就是全部.
我已经读过,当服务器发出无效证书时,也会引发此错误,虽然它表示有crossdomain.xml/clientaccesspolicy.xml的问题.在我的场景中似乎并非如此.
我确信以下设置正确:
1.crossdomain.xml有效并托管在站点的根目录
2.服务确实有效(我们有其他客户使用各种技术,包括依赖于跨域的Adobe Flex .xml.)
3.Silverlight应用程序确实有效(它可以在共享开发服务器上运行本地服务和服务***)
4.Silverlight应用程序甚至不尝试请求crossdomain.xml或clientaccesspolicy.xml(如由Fiddler确认)
5.Silverlight应用程序使用适当的配置通过https访问WCF.以下是配置:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyServices" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="Transport" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://MYDOMAIN/MYSERVICE.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyServices" contract="Services.IMyServices" name="BasicHttpBinding_IMyServices" />
</client>
</system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)
还有什么可以导致这种问题?可能是因为Web服务器是负载平衡的吗?或者我没有注意到证书有问题吗?如果你能够至少指出我正确的方向,将非常感激.
(***值得一提的是:我在开发环境中遇到了类似的问题.尽管有一个正确的crossdomain.xml而且没有使用HTTPS,Silverlight应用程序无法在共享开发服务器上访问WCF服务.我在周围工作它通过在IE中将开发服务器添加为可信站点.然而,这种相同的解决方法不适用于生产,即使这样也不是一种可接受的解决方法.但是我必须在开发环境中执行此操作才能使我担心我一路上都错过了什么......)
https wcf crossdomain.xml clientaccesspolicy.xml silverlight-4.0
由于某种原因,在定义我的变量后,我仍然得到'必须声明标量变量'错误.
using (OleDbConnection conn = new OleDbConnection(connString))
{
conn.Open();
using(OleDbCommand cmd = new OleDbCommand("SELECT UserID FROM tblUser WHERE Username=@user AND Password = @pass", conn))
{
cmd.Parameters.AddWithValue("@user", user);
cmd.Parameters.AddWithValue("@pass", pass);
int UserID = (int)cmd.ExecuteScalar();
return UserID < 0 ? -1 : UserID;
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个WPF应用程序,其表单在启动时会在新线程中调用自定义方法.
Private Sub TestStep1_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Dim oThread As New Thread(AddressOf DisplayNextPicture)
oThread.Start()
End Sub
Private Sub DisplayNextPicture()
'' do stuff
End Sub
Run Code Online (Sandbox Code Playgroud)
这在我的机器上工作正常,但在客户端的机器上启动新线程会导致MissingMethodException.我不确定为什么会发生这种情况(不幸的是,客户端位于远程位置,所以我不得不通过在跟踪语句和试错中滑动来调试它).它绝对是未找到的DisplayNextPicture()方法,因为我已经能够通过跟踪来确定.
我唯一能想到的是,这与框架层面的安全性有关.从WPF应用程序启动新线程是否有限制?
我无法通过Application.DispatcherUnhandledException捕获此异常,因此我无法获取任何异常详细信息或堆栈跟踪.客户端获取带有以下信息的.NET运行时异常对话框,这是我知道异常类型的唯一方法:
EventType:clr20r3 P1:testapp.exe P2:1.0.0.0 P3:49fa2234 P4:mscorlib P5:2.0.0.0 P6:471ebc5b P7:1295 P8:14
P9:system.missingmethodexception
请帮忙 :)
由于数值超过了VBScript INT可以存储的值,我收到了一个非常讨厌的错误消息(实际上是用户)...这完全是twitpocalypse的情况.
由于CINT()在这种情况下不起作用,最好的解决方法是什么?
requestqty = 40200
CInt() max = 32767
CInt(requestqty)
Run Code Online (Sandbox Code Playgroud)
编辑
CLng()似乎可以解决问题,将代码更改为所有CInt()到CLng()的任何风险.从我在下面阅读的内容和其他网站上看,似乎甚至没有理由使用CInt().我没有写这个特定的应用程序,也不知道为什么一个被用于另一个,但更愿意不对这个问题进行限制并在应用程序中完全解决这个问题,所以它不会再发生......
这段代码怎么样:
var check = 0;
for (var numerator = 0; numerator <= maxNumerator; numerator++)
{
check += numerator >= 0
? numerator - (int) ((numerator * qdi.Multiplier) >> qdi.Shift) * qdi.Number
: numerator - (int) -((-numerator * qdi.Multiplier) >> qdi.Shift) * qdi.Number;
}
return check;
Run Code Online (Sandbox Code Playgroud)
运行速度比此代码快3倍:
var check = 0;
for (var numerator = 0; numerator <= maxNumerator; numerator++)
{
check += numerator >= 0
? (int) ((numerator * qdi.Multiplier) >> qdi.Shift)
: (int) -((-numerator * qdi.Multiplier) >> qdi.Shift);
} …Run Code Online (Sandbox Code Playgroud) 我在Visual Studio 2012中使用SQL Server数据库项目,在比较和生成更新脚本时遇到以下问题:
在Visual Studio中,我添加了一个具有默认约束的列,例如:
[NewColumn] NVARCHAR(50) CONSTRAINT [DF_ExistingTable_NewColumn] NOT NULL DEFAULT N''
Run Code Online (Sandbox Code Playgroud)
不幸的是,默认约束的名称在以下情况下不会出现:
创建的更新脚本包含以下脚本(无约束名称):
ALTER TABLE [dbo].[ExistingTable]
ADD [NewColumn] NVARCHAR (50) DEFAULT N'' NOT NULL;
Run Code Online (Sandbox Code Playgroud)
这似乎是一个重大的疏忽,所以我想知道在哪里找到魔术开关在所有数据库操作中包含默认约束的名称.
sql-server constraints database-project schema-compare visual-studio-2012
给定具有此文本的文档,在名为Content的字段中编入索引:
The dish ran away with the spoon.
Run Code Online (Sandbox Code Playgroud)
以下查询无法匹配该文档:
+Content:dish +(-Content:xyz) <-- no results!
Run Code Online (Sandbox Code Playgroud)
查询应视为必须包含"dish",不得包含"xyz".这是失败的"必须"部分.
我知道+ - 组合看起来很有趣但在语法上它应该是正确的,特别是考虑到以下变化都可行:
+Content:dish +(-Content:xyz +Content:spoon) <-- this works
+Content:dish -Content:xyz <-- this works
Run Code Online (Sandbox Code Playgroud)
那为什么不起作用+(-Content:xyz)?这是设计,还是错误,还是我错过了什么?我正在使用Lucene.Net,但我认为常规的Lucene表现相同.
我有两个div并排.右边的div有一个固定的宽度.即使窗口调整大小,左侧div也应填充剩余空间.例:
+---------------------------------+ +---------------+
| | | |
| divLeft | | divRight |
| <- dynamic width -> | | 120px |
| | | |
+---------------------------------+ +---------------+
<div>
<div id="divLeft">...</div>
<div id="divRight">...</div>
<div>
Run Code Online (Sandbox Code Playgroud)
有一个解决方案使用float:右边的元素,但它需要重新排序元素,如下所示:
<div>
<div id="divRight" style="float: right; width: 120px;">...</div>
<div id="divLeft">...</div>
<div>
Run Code Online (Sandbox Code Playgroud)
有没有需要重新排序元素的解决方案?我正处于重新排序它们会导致其他问题的情况.我更喜欢CSS/HTML解决方案,但我愿意使用Javascript/JQuery.
这是我尝试解决它的一个不起作用的JSFiddle.我正试图将蓝色div放在绿色div的右侧.
我有一个引用AppUser模型的Question模型.这是一个1到*的关系,因为1 AppUser有很多问题,一个问题属于1 AppUser.我的问题类看起来像这样:
public class Question
{
public int Id { get; set; }
public string Subject { get; set; }
public string Text { get; set; }
public DateTime Date { get; set; }
public int NumOfViews { get; set; }
public AppUser LastAnswerBy { get; set; }
public AppUser AppUser { get; set; }
public ICollection<Comment> Comments { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以我尝试在我的控制器中向数据库添加一个新问题,如下所示:
[HttpPost]
public ActionResult PostQuestion(Question question)
{
if (ModelState.IsValid)
{
var id = User.Identity.GetUserId();
var user …Run Code Online (Sandbox Code Playgroud) Windows 2008 R2 Standard x64,带有IIS 7.5
当试图加载任何ASP页面(在服务器上的IE中)时,我立即收到"HTTP/1.1 500服务器错误".我在IE中没有勾选"显示友好错误消息".
IIS日志显示:
"ASP_0147 | 500_Server_Error".
事件查看器 - >应用程序给我:
错误:ASP不会为请求提供服务,因为它无法执行第一次请求初始化.
最后,通常有用的失败请求跟踪给了我两个条目:
ASP_LOG_ERROR (Labeled as ERROR)
LineNumber:
ErorrCode: ASP 0147
Description: 500 Server Error
MODULE_SET_RESPONSE_ERROR_STATUS (Labeled as WARNING)
ModuleName: IsapiModule
Notification: 128
HttpStatus: 500
HttpReason: Server Error
HttpSubStatus: 0
ErrorCode: 0
ConfigExceptionInfo:
Notification: EXECUTE REQUEST HANDLER
ErrorCode: The operation completed successfully. (0x0)
Run Code Online (Sandbox Code Playgroud)
我已经仔细检查了所有权限和帐户.我来回切换了应用程序池管道模式.当然,我从服务器中删除了IIS角色,并重新安装了该角色和ASP角色服务大约5次.我还在站点级别设置错误页面以显示"详细错误".我为每个ASP页面都得到了相同的错误,包括一个只有一个response.write的测试错误.
真正的踢球者是我今天早上来的时候有这个工作.我不知道我是否错误地点击了IIS中的内容或者是什么.过去8小时我在网上搜索过.专家 - 发生了什么?
.net ×3
asp-classic ×2
c# ×2
sql-server ×2
asp.net ×1
asp.net-mvc ×1
constraints ×1
css ×1
css-float ×1
exception ×1
html ×1
https ×1
iis ×1
jit ×1
logging ×1
lucene ×1
lucene.net ×1
performance ×1
sql ×1
vbscript ×1
wcf ×1
wpf ×1
x86 ×1
x86-64 ×1