我有一个使用远程工作的Windows服务应用程序.它用于显示气球尖端.但是,它有时会抛出此错误:
Exception :Requested Service not found
Inner Exception : Stack Trace : Server stack trace: at System.Runtime.Remoting.Channels.BinaryServerFormatterSink.ProcessMessage(IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders requestHeaders, Stream requestStream, IMessage& responseMsg, ITransportHeaders& responseHeaders, Stream& responseStream) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at Baloontip.clsBaloonTool.Messagebox(String Message)
任何人都可以帮我解决这个问题.
我正在修理.我需要从网络位置下载一个zip文件,然后在本地计算机上解压缩并使用这些文件.唯一的限制是我不能使用任何第三方DLL.
BackColor
a 的属性的默认行为TextBox
如下:启用时为White
(SystemColors.Window
),禁用时为灰色(不确定SystemColor是什么).
如果我更改了BackColor
属性,则Enabled和Disabled都使用相同的颜色.如何重置BackColor
属性(之前已更改),以便行为恢复为默认值?
我已经尝试将其设置回SystemColors.Window
,但是当禁用时盒子保持白色.
我刚刚注意到使用ASP.NET应用程序中的表单身份验证访问CSS文件时出现问题.
在我登录之前,我没有使用我在登录页面中设置的任何样式,因为IIS似乎阻止登录页面访问此文件.
有一个简单的解决方案吗?
我遇到了一个问题,当我尝试将我的调试器连接到IIS Express时,它失败并显示"无法连接到进程.灾难性故障".然后它会终止我的IIS Express会话.我不知道从哪里开始调试此问题.
导致这种情况的步骤:
想知道Visual Studio日志去哪里看看可能发生了什么?我尝试使用/ log选项运行devenv.exe但它没有帮助解决任何错误.
我也查了一下IIS日志,但没有任何异常指向灾难性的失败.
http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.maxdate.aspx http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker .maxdatetime.aspx
当没有提供解释时,该值似乎是任意的.为什么这不是DateTime.MaxValue?
(向下滚动到帖子底部以找到解决方案.)
有一个包含Datalist的asp.net页面.在这个数据列表中,有一个包含下拉列表的模板,每次数据列表中都填充了一个项目,就会调用一个ItemCreatedCommand.itemCreatedCommand负责数据绑定下拉列表.
我认为问题出在这里,我正在使用ItemCreatedCommand填充它 - 但奇怪的是,如果我选择颜色"绿色",页面将自动回复,我将看到下拉列表仍然是绿色,但是当试图使用它的SelectedIndex时,我总是得到0 ......
protected void DataListProducts_ItemCreatedCommand(object
source, DataListItemEventArgs e)
var itemId = (String)DataListProducts.DataKeys[e.Item.ItemIndex];
var item = itemBLL.GetFullItem(itemId);
var DropDownListColor = (DropDownList)e.Item.FindControl("DropDownListColor");
//Also tried with :
//if(!isPostBack) {
DropDownListColor.DataSource = item.ColorList;
DropDownList.Color.Databind();
// } End !isPostBack)
Label1.test = DropDownListColor.SelectedIndex.toString();
// <- THIS IS ALWAYS 0! *grr*
Run Code Online (Sandbox Code Playgroud)
我已经缩小了代码以供查看,但你仍然可以看到我正在尝试做什么:)我之所以这样做的原因,并没有直接为aspx-page声明颜色的数据源,是因为我需要运行一个测试if(showColors),但是我不想把代码放在html页面上,我认为应该在代码后面的文件中.
编辑:在尝试改变SelectedIndexChange之后 - 我现在脑子里有一个"逻辑"混乱 - 我如何改变数据主义者内部的元素?因为,据我所知 - 我没有办法检查这个特定下拉列表属于的数据列表中的哪些项目......或者?我将尝试一些方法,看看我最终得到了什么;)但请发表你对这个问题的想法:)
解:
要么将事件冒泡到ItemCommand,要么处理事件,获取发件人父级(这是一个datalistItem并操纵那里的元素.
protected void DropDownListColor_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList dropDownListColor = (DropDownList)sender;
DataListItem dataListItem = (DataListItem)dropDownListColor.Parent;
var item = items[dataListItem.ItemIndex];
var color = …
Run Code Online (Sandbox Code Playgroud) 当TextBox失去焦点时,我需要在服务器端触发代码.
我知道有是的onblur客户端事件,并没有LostFocus事件,所以我怎么可能会导致当我的文本框失去焦点发生回发?
更新:
我找到了一个博客,似乎给出了相当不错的解决方案.它涉及向TextBox子类添加自定义事件,并注册在onblur JavaScript客户端事件中调用服务器端事件的客户端脚本.
以下是我在VB中的实现:
Public Class MyTextBox
Inherits TextBox
Implements IPostBackEventHandler
Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
MyBase.OnInit(e)
If Not Page.ClientScript.IsClientScriptBlockRegistered("OnBlurTextBoxEvent") Then
Page.ClientScript.RegisterStartupScript(MyBase.GetType, "OnBlurTextBoxEvent", GetScript, True)
Attributes.Add("onblur", "OnBlurred('" & UniqueID & "','')")
End If
End Sub
Public Delegate Sub OnBlurDelegate(ByVal sender As Object, ByVal e As EventArgs)
Public Event Blur As OnBlurDelegate
Protected Sub OnBlur()
RaiseEvent Blur(Me, EventArgs.Empty)
End Sub
Private Function GetScript() As String
Return "function OnBlurred(control, arg)" & vbCrLf & _
"{" & …
Run Code Online (Sandbox Code Playgroud) 当我在构建服务器上运行WatiN测试时,它们都会抛出此InteropServices.COMException:
MyTestClassName.MyTestMethodName:System.Runtime.InteropServices.COMException:由于以下错误,从IClassFactory创建具有CLSID {0002DF01-0000-0000-C000-000000000046}的COM组件的实例失败:80004005.
我通过TeamCity运行它们得到相同的结果,或者我使用NUnit GUI(2.5)作为管理员在服务器上手动运行它们.
这是一些示例代码:
[TestFixture]
public class MyTestClassName
{
private string pageUrl;
[TestFixtureSetUp]
public void TestFixtureSetUp()
{
pageUrl = ConfigurationManager.AppSettings["SiteURL"] + "/Pages/MyPage.aspx";
Settings.MakeNewIeInstanceVisible = false;
}
[Test]
public void MyTestMethodName()
{
using (var ie = new IE(pageUrl))
{
ie.SelectList(new Regex(@"^*DropDownList1*$")).Option("TheOption").Select();
ie.SelectList(new Regex(@"^*DropDownList2*$")).Option("AnOption").Select();
ie.SelectList(new Regex(@"^*DropDownList3*$")).Option("OtherOption").Select();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么想法可以吗?
/乔金 -
在这种情况下,设置环境变量的应用程序在需要访问env.var的应用程序中执行.在main()的返回值(C#编程指南) MSDN文章讨论了一个批处理文件中使用.如果我尝试一样,一切都很好; 但是,不需要从批处理脚本运行,而是从应用程序内运行.
Process.Start("app","args"); // app sets the env.var.
string envVar = System.Environment.GetEnvironmentVariable("ERRORLEVEL");
Run Code Online (Sandbox Code Playgroud)
显然是不成功的.Process.Start使"app"在我认为完全不同的环境中工作.换句话说,我需要在与调用者应用程序相同的环境中运行"app",以便访问它设置的环境变量.
c# ×6
asp.net ×4
.net ×3
winforms ×2
colors ×1
compression ×1
controls ×1
custom-event ×1
debugging ×1
environment ×1
iis ×1
lost-focus ×1
nunit ×1
postback ×1
remoting ×1
textbox ×1
watin ×1
windows ×1
zip ×1