我创建了一个基于ServiceHostFactory的wcf服务,我在IIS6中托管它.如果我使用HTTP端点一切正常,但当我尝试切换到TCP时,它会变坏.
在II6中甚至可以做到这一点吗?
我在这里发布了一个更具体的问题,请求解决方案,但我会很高兴(对于初学者,如果没有)只有一个答案(也许是一个例子)到这个 - 不太具体的问题.
我有一个动态创建的javascript页面(该脚本非常静态,但其变量的值根据用户输入填充).
获取用户输入的结果和控件位于UpdatePanel内,UpdatePanel在某些用户输入上更新自身.其中一些用户输入导致我之前谈到的变量发生变化,所以我需要注册一个新的javascript.
问题是只更新面板得到更新,脚本在更新面板外注册,因此不会添加新脚本.
您认为现在最佳做法是什么?我可以通过让这个脚本(和变量)存在于 updatepanel中来解决这个问题,或者我可以确保在需要发布新的javascript时完全重新加载页面?我在页面上已有的ScriptManager可以帮助我...
所以我正在寻找一个有类似问题并以一种很好的方式解决它们的人,或者只是一个有一些聪明主意的人:)
我有一个运行WCF服务,需要解析一些数据.事实证明,数据(点,大小)在不同的CultureInfo中被不同地转换,并且解析在很多类和方法中展开.由于所有解析都是在不传递任何CultureInfo的情况下完成的,因此解析的成功取决于线程文化.
由于没有CultureInfo的编程设置,服务以某种方式从机器中选择当前的cultureinfo.我不知道它在哪里得到这个,因为对区域和语言选项的更改似乎对wcf服务的cultureinfo没有任何影响.对web.config的更改(是的,服务托管在iis中)似乎也不起作用.
我真的只留下一个选择吗?以程序方式设置CultureInfo?我可以找到所有转换调用并传入CultureInfo,或者我可以在Thread.CurrentThread.CurrentCulture上设置它.难道我无法一劳永逸地设置CultureInfo - 对所有暴露的wcf方法产生影响吗?
我正在使用asp.net mvc 3和jquery unobtrusive验证.我最近从标准DataAnnotations改为FluentValidation,它运行良好.
我获取FluentValidation的主要原因是需要验证我的viewmodel上的嵌套属性(但我发现还有其他很酷的理由使用它),有点看起来像这样(不介意访问器这是伪的):
class Vm {
string Prop;
string AnotherProp;
IEnumerable<ElementsVm> Elements;
}
class ElementsVm {
bool Required;
string Id;
string Title;
string Value;
}
Run Code Online (Sandbox Code Playgroud)
使用FluentValidation我为Vm和ElementVm制作验证器,我的单元测试是绿色的,显示我的服务器端验证工作正常.
客户端,'Prop'和'AnotherProp'正在运行 - 我的验证规则也按预期运行客户端(就像他们使用DataAnnontation一样),但我的所有元素都没有得到任何客户端验证 - 我检查dom并且可以看到所有data-val,data-required等属性都缺失.
我尝试过在我的视图中生成html的不同方法,但是'Prop'和'AnotherProp'是使用Html.TextBoxFor(m => m.Prop)生成的,而我的元素是在部分生成的 - 这是问题开始了.如果我选择Html.TextBoxFor(m => m.Value)我的所有元素文本框将具有相同的名称/ id,所以我也尝试使用Html.TextBox(Model.Id)生成唯一的id/name但仍然没有验证属性.
那么有没有办法使我的senario工作 - 我不介意重写它,但我真的希望FluentValidation为我写我的HTML.
我的后备解决方案是让我自己的Html帮助器生成带有属性的正确Html,但我觉得这很糟糕,因为当FluentValidation,jquery验证或者新版本发布/补丁时,我将不得不继续更新这些帮助器.在两者之间的mvc链接.
我想制作html5全屏应用.我制作了一个页面并将其作为图标添加到我的iphone中.我添加了元标记:
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="viewport" content="width=device-width, user-scalable=no" />
Run Code Online (Sandbox Code Playgroud)
我想要实现的是:顶部的黑色状态栏(这不起作用,我不知道为什么.它仍然是默认状态栏...任何想法?)没有可能缩放(如在Facebook应用程序中) - 这是有效的精细.
现在问题 - 即使我的应用程序适合屏幕,我也可以在我的iPhone上滚动.它反弹回来,但我不想要这种行为.我想禁用它并启用特定div(.ui-content)的滚动.我怎样才能做到这一点?
编辑: 状态栏现在是黑色的.一段时间后它发生了变化.以前的版本缓存在iPhone上还是什么?
我一直在使用QUnit在我的Visual Studio 11解决方案中测试一些javascript,最近更新了在其testrunner中支持QUnit的Resharper.
当我之前手动运行测试时,我会加载html页面加载我要测试的javascript以及qunit.js.我的javascript会加载 - 并运行一些初始化/支持代码,这是所有工作所必需的.
在resharper中,我发现脚本没有运行,因此,我的许多测试都失败了.
解决这个问题的最佳方法是什么?
我需要在IIS中托管一个WCF服务,公开一个wsHttpBinding.该部分在我的web.config中使用system.serviceModel的设置很好地工作.
我现在需要的是通过客户端也使用的配置程序集来设置配置(如maxReceivedMessageSize和其他选项).
这怎么可能?我在我的.svc文件中看不到像我的客户端中的句柄来重载绑定配置.我怀疑这是因为它在应用程序启动时由ISS自动处理,与Windows服务相反,您必须手动声明客户端/通道.
我是对的吗?并解决他的问题(如果我仍然希望在IIS内托管)删除所有配置,而是创建一个HttpHandler,负责启动托管?
如果我是对的我想我只是浪费了很多空间来写这个,但我不禁想到我错过了什么.
我有一个复合控件,它将TextBox和Label控件添加到其Controls集合中.当我尝试将Label的AssociatedControlID设置为Textbox的ClientID时,我收到此错误
Unable to find control with id
'ctl00_MainContentPlaceholder_MatrixSetControl_mec50_tb'
that is associated with the Label 'lb'.
Run Code Online (Sandbox Code Playgroud)
好吧有点背景.我得到了这个主复合控件,它动态地向控件集合添加了许多"元素".其中一个元素恰好是这个'MatrixTextBox',它是由TextBox和Label组成的控件.
我将Label和TextBox保存为受保护的类变量,并在CreateChildControls中初始化它们:
ElementTextBox = new TextBox();
ElementTextBox.ID = "tb";
Controls.Add(ElementTextBox);
ElementLabel = new Label();
ElementLabel.ID = "lb";
Controls.Add(ElementLabel);
Run Code Online (Sandbox Code Playgroud)
我试过设置
ElementLabel.AssociatedControlID = ElementTextBox.ClientID;
Run Code Online (Sandbox Code Playgroud)
将控件添加到Controls集合后,甚至在PreRender中,两者都产生相同的错误.我究竟做错了什么?
我有以下HTML
<label>
outer
<span>inner</span>
</label>
Run Code Online (Sandbox Code Playgroud)
我想替换'外部'值,使span的内部文本保持不变.运用
$('label').text('new outer');
Run Code Online (Sandbox Code Playgroud)
替换标签的全部内容(以及跨度).有没有一种漂亮的方法只选择文本块'outer'而不添加额外的跨度或执行高级的东西,比如存储标签内部跨度的值,然后重新应用它?
我需要获取一个<svg>元素的SVGPoint,但是由于某种原因,它在我的场景中不起作用。
考虑以下HTML
<body>
<svg id="inline">
</svg>
</body>
Run Code Online (Sandbox Code Playgroud)
和JavaScript
var s1 = document.getElementById('inline');
console.log('point', s1.createSVGPoint());
var s2 = document.createElement("svg");
s2.setAttribute("id", "inserted");
document.getElementsByTagName('body')[0].appendChild(s2);
console.log('point2', s2.createSVGPoint());
Run Code Online (Sandbox Code Playgroud)
第一个“ point”按预期方式输出,但是“ point2”输出在chrome中显示错误:
Uncaught TypeError: s2.createSVGPoint is not a function
Run Code Online (Sandbox Code Playgroud)
我创建了一个小矮人来演示:
我通过设置以下属性来改变区域设置:
moment.locale(chosenLocale);
Run Code Online (Sandbox Code Playgroud)
一切似乎都很好.我根据所选的区域设置获取月份名称和工作日名称.我也得到了正确的周数等计算
使用默认(英语)语言环境,我得到月份名称,如1月,2月等.我也得到工作日名称,如星期一,星期二等.出于某种原因,使用丹麦语语言环境我得到所有这些名称降低.格式化一个简单的工作日时,我可以将第一个字母大写,但是对于一些更高级的格式,其名称可能会交换顺序(January 1stvs. 1. Januar)我不能只是大写第一个字母.
我正在使用此格式显示月份名称和月份日期:
moment().format('dddd LL')
Run Code Online (Sandbox Code Playgroud)
在丹麦,我得到7. marts 2016但我真的想要7. Marts 2016.请记住,我需要解决方案适用于所有语言环境,因此我无法对月份名称进行硬编码 - 或者我可以吗?我尝试了以下方法:
moment.locale(chosenLocale);
var __months = moment.months().map(function (m) { return m.toUpperCase() + "TEST"; });
moment.locale(chosenLocale, {
months : __months
});
Run Code Online (Sandbox Code Playgroud)
我希望(出于测试目的)获得JANUARTEST丹麦语语言环境,但我得到了januartest一些暗示小写在其他地方被框架应用的提示.我还尝试months根据api文档将属性设置为函数,然后返回缓存月数组的大写值,其结果与描述的相同.
有人有解决方案吗?
我正在尝试将一个xml序列化对象存储在cookie中,但是我收到如下错误:
A potentially dangerous Request.Cookies value was detected from the client (KundeContextCookie="<?xml version="1.0" ...")
Run Code Online (Sandbox Code Playgroud)
当您尝试在表单输入字段中存储看起来像javascript代码的内容时,我从类似的情况中了解问题.
这里的最佳做法是什么?是否有一种方法(比如我描述的形式问题)从asp.net框架中抑制此警告,或者我应该将JSON序列化,还是应该二进制序列化?将序列化数据存储在cookie中时的常见做法是什么?
编辑:感谢您的反馈.我想在cookie中存储比ID更多的数据的原因是因为我真正需要的对象需要大约2秒才能从我无法控制的服务中进行检索.我创建了一个轻量级对象'KundeContext'来保存完整对象中的一些属性,但这些属性在90%的时间都被使用.这样我只需要在10%的页面上调用慢速服务.如果我只存储了Id,我仍然需要在几乎所有页面上调用该服务.
我可以单独存储所有字符串和整数,但该对象具有其他轻量级对象,如"contactinformation"和"address",这些对象的每个属性都需要手动存储.
假设我有一个大小正在增长的Angular2打字稿解决方案.我有许多小类/对象,按照最佳实践,我将每个类放在自己的文件中.
如果我需要操纵这些对象,我经常会得到这样的长导入列表:
import {Object1} from '../core-data/object1';
import {Object2} from '../core-data/object2';
import {Object3} from '../core-data/object3';
import {Object4} from '../core-data/object4';
import {Object5} from '../core-data/object5';
Run Code Online (Sandbox Code Playgroud)
我希望我能做一些像:
import {Object1, Object2, Object3, Object4, Object5} from '../core-data/CORE_OBJECTS';
Run Code Online (Sandbox Code Playgroud)
我尝试使用Angular团队正在使用的模式,CORE_DIRECTIVES但似乎它只能起作用,因为那些是通过annontation directives上的属性添加的Component.
我真的不想捆绑它/为它做一个新项目,因为它会使整个过程更难 - 它只是一些核心对象,我希望能够调整而不会有太多的麻烦.
处理这个问题的最佳方法是什么?
asp.net ×3
javascript ×3
wcf ×3
html5 ×2
.net ×1
angular ×1
c# ×1
cookies ×1
cultureinfo ×1
iis ×1
iis-6 ×1
iphone ×1
jquery ×1
momentjs ×1
qunit ×1
resharper ×1
svg ×1
typescript ×1
updatepanel ×1