我与我的一位朋友争吵,他是一家大型互联网公司的建筑师.基本上他说ASP.NET MVC不适用于大型企业应用程序,它不像WebForms那样灵活,而且MVC应用程序比Web表单应用程序慢.
根据我自己使用MVC的经验,我可以说它更灵活,重量更轻,因为没有页面生命周期,viewstate等等.因此,它应该加载至少更快.据我所知,MVC专为中大规模流量而设计.
你们有什么感想?有没有人比较速度和性能?ASP.NET MVC比ASP.NET WebForms更适合大规模应用吗?
简而言之,在这两种选择之间,您会选择哪种选择用于大规模企业应用程序?
我有一个包含100多个表的DataContext(Linq到Sql),是否可以获取所有这些表的列表,然后让它们打印到控制台?这可能是一个愚蠢的问题.
谢谢.
基本上我如何使用下面这个模式调用基本方法?
var GS = {};
GS.baseClass = function (somedata) {
var that = {};
that.data = somedata;
//Base class method
that.someMethod = function(somedata) {
alert(somedata);
};
return that;
};
GS.derivedClass = function(somedata) {
var that = GS.baseClass(somedata);
//Overwriting base method
that.someMethod = function(somedata) {
//How do I call base method from here?
//do something else
};
return that;
};
Run Code Online (Sandbox Code Playgroud)
谢谢.
我正在编写一个Windows服务,它将启动多个工作线程,这些线程将监听Amazon SQS队列并处理消息.将有大约20个线程监听10个队列.
线程必须始终运行,这就是为什么我倾向于实际使用实际线程作为工作循环而不是线程池线程.
这是一个顶级实现.Windows服务将启动多个工作线程,每个线程都会监听它的队列和处理消息.
protected override void OnStart(string[] args)
{
for (int i = 0; i < _workers; i++)
{
new Thread(RunWorker).Start();
}
}
Run Code Online (Sandbox Code Playgroud)
这是工作的实施
public async void RunWorker()
{
while(true)
{
// .. get message from amazon sqs sync.. about 20ms
var message = sqsClient.ReceiveMessage();
try
{
await PerformWebRequestAsync(message);
await InsertIntoDbAsync(message);
}
catch(SomeExeception)
{
// ... log
//continue to retry
continue;
}
sqsClient.DeleteMessage();
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用Task.Run执行相同的操作并在线程池线程上执行它而不是启动单个线程,但我没有看到原因,因为每个线程将始终运行.
你看到这个实现有什么问题吗?让线程始终以这种方式运行是多么可靠,我该怎么做才能确保每个线程始终在运行?
这可能是一个愚蠢的问题,但我找不到stackoverflow的答案.
我在Winform应用程序中有一个按钮单击事件,该应用程序运行一个线程来计算结果以显示在表单中.
当线程计算结果时,如何更新Forms UI?
private void btnRequestR2Approval_Click(object sender, EventArgs e)
{
if (User.IsLogged)
{
ValidationResults results = new ValidationResults();
results.Show();
Logger log = Logger.Instance();
Logger.NewLogAddedHandler messageDelegate = new Logger.NewLogAddedHandler(results.NewLogMessage);
if (!log.IsEventHandlerRegistered())
{
log.NewLogAdded += messageDelegate;
}
ThreadStart operation = new ThreadStart(ValidateAndSubmit);
Thread theThread = new Thread(operation);
theThread.Start();
}
else
{
MessageBox.Show("Please login");
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
有没有人知道如何使用aspx.cs页面中的[WebMethod]属性访问静态方法中的HttpRequest.Cookies?
它不会让我这样做,因为方法是静态的.
[WebMethod]
public static bool PostToTwitter(string identityUrl, string message, bool autoFollow)
{
Page.Request.Cookies -- object reference is required for non-static field
Run Code Online (Sandbox Code Playgroud)
谢谢!
我对托管在 Windows 服务器上的项目使用标准的 web.config 文件。它负责 2 个任务。
见下文:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<rewrite>
<rules>
<rule name="CanonicalHostNameRule1" stopProcessing="true">
<match url="index\.asp(?:l)?" />
<conditions>
<add input="{HTTP_HOST}" pattern="example\.com$" />
</conditions>
<action type="Redirect" url="http://www.example.com/" />
</rule>
<rule name="CanonicalHostNameRule2" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^example\.com$" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这很好用,除了 1 个问题。索引重定向将所有子目录重定向到主目录。
例如:
http://www.example.com/index.asp像它应该的那样 重定向到http://www.example.com。
但是,http://www.example.com/about/index.asp 也重定向到http://www.example.com。我希望它重定向到http://www.example.com/about/
任何帮助将不胜感激。
我正在努力完成一个简单的正则表达式任务.我想用以下排除项替换文本中具有大写字母和小写字母的所有href链接.
例如
href="/image-ZOOM.aspx?UPPERcasE=someThing"
匹配并替换为
href="/image-zoom.aspx?uppercase=something"
href="/image-coorect.aspx"
- 不匹配
它也会排除href="javascript:function();"
并且不会在<% %>
标签之间小写任何内容.
例如:
href="/images/PDFs/<%=Product.ShortSku %>.pdf"
被翻译成
href="/images/**pdfs**/<%=Product.ShortSku %>.pdf"
我尝试了类似的东西,href="([^"]*[A-Z]+[^"]*)"
但仍然匹配所有小写的链接.你能不能发光一下.
谢谢!
.net ×2
asp.net ×2
c# ×2
architecture ×1
asp.net-3.5 ×1
asp.net-mvc ×1
async-await ×1
comparison ×1
datacontext ×1
httprequest ×1
inheritance ×1
javascript ×1
linq ×1
performance ×1
regex ×1
threadpool ×1
web-config ×1
webforms ×1
webmethod ×1
winforms ×1