我有一个在ie下运行的基本网站(Asp.net WebForms应用程序).
http://localhost:90/
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个新的(这次是Asp.net MVC)应用程序并添加了它
http://localhost:90/mvc/
Run Code Online (Sandbox Code Playgroud)
但不仅仅是作为一个简单的虚拟文件夹,而是作为一个应用程序文件夹,通过定义一个不同的应用程序池来运行它,与父应用程序相比.
由于浏览器无法知道基本上在同一个域上有两个不同的应用程序,它的工作方式如下:
http://localhost:90/http://localhost:90/mvc我是否有可能根据同一个cookie对用户进行身份验证?我将配置我的MVC应用程序登录重定向到父应用程序以具有共享身份验证屏幕.但是我想知道从那时起谁经过认证和工作.
我已经阅读了一些关于共享相同system.web/machineKey值以提供此类功能的内容,但我想要一些真实世界的示例.
我知道这两个应用程序将无法共享会话状态,这不是问题,因为我不希望它们.我想要的只是一种单一登录(SSO/SSS)
这可能吗?怎么样?
我已经阅读了有关此问题的其他问题/答案,但他们要么是询问跨域/跨服务器等.这个问题都在同一个IIS网站上.
这就是我设置项目的方式:
git init --bare
Run Code Online (Sandbox Code Playgroud)
后来我了解到如果你想在一个有多个用户的项目上工作,我应该这样做:
git init --bare --shared
Run Code Online (Sandbox Code Playgroud)
现在我尝试这样工作,幸运的是我们在开始,所以我可以再次设置git.我仍然想知道,当你处于项目中间时,你无法做到这一点.有没有办法可以将裸仓库改为共享仓库?
我有一个设置应用程序,我必须从中检索其他应用程序首选项,但我没有其中的键的详细信息,如何检索该首选项中的所有可用键和值?
谢谢,斯瓦蒂
我有一个问题.我们可以直接获得共享指针指向的对象吗?或者我们应该通过get()调用获取底层RAW指针然后访问相应的对象?
我只是做了使用ld的一个基本的例子-rpath选项与$ORIGIN 这里(见一个工作版本第二反应).我试图创造一个例子main.run链接foo.so,进而链接bar.so,全部采用rpath和$ORIGIN.
运行时文件结构是:
- 项目/
- LIB /
- DIR /
- 子/
- bar.so
- foo.so
- 跑/
- main.run(无法构建)
我正在建设foo.so使用:
g++ -c -o obj/foo.o src/foo.cpp -fPIC
g++ -shared -o lib/dir/foo.so obj/foo.o -Wl,-soname,foo.so -Wl,-rpath,'$ORIGIN/sub' -Llib/dir/sub -l:bar.so
Run Code Online (Sandbox Code Playgroud)
哪个建好了.ldd lib/dir/foo.so甚至可以找到bar.so.
但是,当我尝试链接main.run到时foo.so,foo.so找不到bar.so.
我正在构建main.so使用:
g++ -c -o obj/main.o src/main.cpp
g++ -o run/main.run obj/main.o -Wl,-rpath,'$ORIGIN/../lib/dir' -Llib/dir -l:foo.so
Run Code Online (Sandbox Code Playgroud)
如果foo.so使用不递归链接的另一个版本,这可以正常工作.(取消注释make.sh中的行,在下面的项目中进行测试).
但是,使用正常foo.so我在构建时遇到此错误main.run:
/ usr/bin/ld:警告:bar.so,lib/dir/foo.so需要,找不到(尝试使用-rpath或-rpath-link) …
我正在将客户端的SourceSafe存储库(3个项目)迁移到SVN,其中两个项目共享源文件.(这些项目是单独的产品 - 具有不同的名称和发布版本等)
SVN解决了这个缺点吗?人们通常如何处理这种情况?
我知道/可以想到的选项
使用外部或外部或任何SVN.我听说由于各种原因这不是一个好的选择
创建一个包含源的新项目(可能称为共享).这个问题是我们仍然需要获取该代码(它不是一个库)并以某种方式将其导入项目中.可以证明它与上面的问题相同,并且它引入了额外产品/项目的开销.
只需签入两个存储库中的文件并交叉更新它们即可.这需要开发人员了解共享并记住签入.我想我可以编写一个脚本来检查所有已知的共享文件,并在需要时更新它们.
为共享的两个项目提供一个存储库.这让我不得不创建一个包含两者的顶级项目/存储库的问题,这是标记的问题.我真的不想标记顶部的伪项目.(标签,行李箱和分支机构并不是我想要它们的地方.)
我可能会选择最后一个选项.
还有其他意见吗?
我不了解SOA(面向服务的体系结构)和数据库.虽然我被SOA概念所吸引(将可重用的业务逻辑封装到服务中),但我无法弄清楚如果其他服务/系统需要封装在服务中的数据表,它应该如何工作 - 或者SOA适用于所有在这种情况下?
更具体地说,假设我有两个服务:
CustomerService:包含我的Customers数据库表和关联的业务逻辑.OrderService:包含我的Orders表和逻辑.现在如果我需要带有SQL语句JOIN的Customers和Orders表怎么办?如果表包含数百万个条目,如果我必须使用SOAP/XML通过网络发送数据,则会产生不可接受的性能.以及如何执行JOIN?
做了一点研究,我找到了一些建议的解决方案:
如果您对此有任何意见,请告诉我.
编辑:一年过去了,我对SOA的兴趣减少了,概念的普及也是如此.如今,人们似乎想要专注于RESTful服务.
我必须将N个客户端进程与一个服务器同步.这些进程由一个main函数分叉,我在其中声明了3个信号量.我决定使用POSIX信号量,但我不知道如何在这些进程之间共享它们.我认为共享内存应该正常工作,但我有一些问题:
sizeof(sem_t)在size_t字段中shmget使用以便准确分配我需要的空间吗?AFAIK,Java中的内存基于堆,内存从中动态地分配给对象,并且没有共享内存的概念.
如果没有共享内存的概念,那么Java程序之间的通信应该是耗时的.在C中,与其他通信模式相比,通过共享存储器进行进程间通信更快.
如我错了请纠正我.另外,两个Java程序相互交流的最快方式是什么.
对于两个进程A和B,两者都使用库libc.so,libc.so只加载到内存中一次.当A和B都在同一主机和相同的rootfs上运行时,这是正常情况.
对于容器,如果A和B在不同的容器中运行,A和B是否共享相同的内存区域?
例如
imageA
--libc.so
--programA
imageB
--libc.so
--programB
我们使用chroot在不同的rootfs中运行A和B. 两个libc.so是一样的.libc.so会被加载到内存中两次吗?